#g5299. 原根判断

原根判断

题目背景

截止 2025 年 3 月,本题可能超出了 GESP 考纲范围。在该时间点下,原根是 NOI 大纲 8 级知识点(NOI 级),而相对简单的、无需原根知识的做法中使用的费马小定理与欧拉定理也属于 NOI 大纲 7 级知识点(提高级),且均未写明于 GESP 大纲中。需要注意,GESP 大纲和 NOI 大纲是不同的大纲。若对原根这一概念感兴趣,可以另行学习。

题目描述

小 A 知道,对于质数 pp 而言,pp 的原根 gg 是满足以下条件的正整数:

  • 1<g<p1 < g < p;
  • gp−1 mod p=1g^{p-1} \bmod p = 1;
  • 对于任意 1≤i<p−11 \le i < p-1 均有 gi mod p≠1g^i \bmod p \neq 1。

其中 a mod pa \bmod p 表示 aa 除以 pp 的余数。

小 A 现在有一个整数 aa,请你帮他判断 aa 是不是 pp 的原根。

输入格式

第一行,一个正整数 TT,表示测试数据组数。

每组测试数据包含一行,两个正整数 a,pa, p。

输出格式

对于每组测试数据,输出一行,如果 aa 是 pp 的原根则输出 Yes,否则输出 No。

输入输出样例 #1

输入 #1

3
3 998244353
5 998244353
7 998244353

输出 #1

Yes
Yes
No

说明/提示

数据范围

  • 对于 40%40\% 的测试点,保证 3≤p≤1033 \le p \le 10^3。
  • 对于所有测试点,保证 1≤T≤201 \le T \le 20,3≤p≤1093 \le p \le 10^9,1<a<p1 < a < p,pp 为质数。