33OJ
登录 注册

#ABC482F. 模 M 约数

模 M 约数

模 M 约数

题目描述

给定两个正整数 NN 和 MM。对每个 k=0,1,…,M−1k=0,1,\ldots,M-1,求解以下问题:

判断是否存在满足下述条件的正整数 tt,若存在,求出最小的 tt。

  • 存在 NtN^t 的一个正约数 xx,满足 x≡k(modM)x \equiv k \pmod M。

输入格式

输入一行两个整数 N,MN,M。

输出格式

输出 MM 行。第 ii 行(1≤i≤M1 \le i \le M)对应 k=i−1k=i-1:如果存在满足条件的正整数 tt,输出最小的 tt;否则输出 −1-1。

6 7
-1
1
1
1
2
2
1

样例 1 解释

例如当 k=3k=3 时,x=3x=3 是 N1=6N^1=6 的约数,且 3≡3(mod7)3 \equiv 3 \pmod 7,所以满足条件的最小正整数是 t=1t=1。

4 8
2
1
1
-1
1
-1
-1
-1
1 5
-1
1
-1
-1
-1

数据范围

对于所有测试数据,保证:

  • 1≤N≤10141 \le N \le 10^{14};
  • 1≤M≤4×1051 \le M \le 4 \times 10^5;
  • N,MN,M 均为整数。

子任务

本题共 20 个测试点,按测试点计分:

测试点 分值 每个测试点 特殊性质
1∼61 \sim 6 3030 55 N≤106N \le 10^6 且 M≤100M \le 100
7∼127 \sim 12 M≤2000M \le 2000
13∼2013 \sim 20 4040 无特殊限制

每个测试点单独评分,全部测试点的得分之和即为本题得分。