100 #P1183. 【数论基础(难度:5)】欧拉函数应用:原根

【数论基础(难度:5)】欧拉函数应用:原根

【题意】

在以下情况下 x (1x<p)x \ (1 \le x < p)pp 的原根:

  • 条件1: pp 是奇素数

  • 条件2: 集合(ximodp)1ip1 \\{ (x^i \mod p) | 1 \le i \le p-1 \\} 等于 集合 1,...,p1\\{ 1, ..., p-1 \\}

例如 x=3p=7x=3,p=7 集合为 3,2,6,4,5,1\\{ 3, 2, 6, 4, 5, 1\\} ,所以 3377 的原根。

给出 nn 个正整数 pip_i ,求每个正整数 pip_i 的原根个数。

【输入格式】

第一行一个数 n (1<n10000)n \ (1 < n \le 10000)

下来 nn 行,一行一个数 pi (1pi2107)p_i \ (1 \le p_i \le 2*10^7)

【输出格式】

一行一个数,第 ii 行是 pip_i 的原根个数(无原根则输出 0)。

【样例输入】

8
1
2
3
4
8
9
10
18

【样例输出】

0
1
1
1
0
2
2
2