#P8302. [CoE R4 B/Stoi2041] 龙拳

    ID: 7008 远端评测题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>模拟数学数论洛谷原创O2优化枚举,暴力洛谷月赛

[CoE R4 B/Stoi2041] 龙拳

题目描述

对于 nZ2n \in \mathbb{Z_{\ge 2}},设 g(n)g(n)nn 的小于 nn 的最大约数,如 g(7)=1,g(12)=6g(7) = 1, g(12) = 6

定义 f(n)=n+g(n)f(n) = n + g(n)。记 f(0)(n)=nf^{(0)}(n)=n,且对 mZ0m \in \mathbb{Z_{\ge 0}}f(m+1)(n)=f(f(m)(n))f^{(m+1)}(n)=f(f^{(m)}(n))

多次询问,每次询问给定正整数 n,kn,k,求最小的自然数 m0m_0,使得对于任意 mm0m \ge m_0,均有 f(m)(n)f(m+k)(n)f^{(m)}(n) \mid f^{(m+k)}(n)

若不存在这样的 m0m_0,则令 m0=1m_0=-1

输入格式

第一行一个正整数 TT 表示询问次数。

接下来 TT 行,每行两个正整数 n,kn,k,表示一次询问。

输出格式

对于每组询问输出一个整数表示答案。

2
2 3
3 4

0
-1

提示

样例解释

n=2,k=3n=2,k=3 时,m0=0m_0=0

n=3,k=4n=3,k=4 时不存在满足条件的 m0m_0


数据规模

本题采用捆绑测试。

  • 子任务 1111 分):T=k=1T=k=1
  • 子任务 221212 分):T,n,k10T,n,k \le 10
  • 子任务 332424 分):T10,n105T \le 10,n \le 10^5
  • 子任务 443636 分):T103T \le 10^3
  • 子任务 552727 分):无特殊限制。

对于 100%100\% 的数据,保证 1T2×1061 \le T \le 2 \times 10^62n3×1072 \le n \le 3 \times 10^71k1091 \le k \le 10^9