logo AlgoBeat OnlineJudge
登录 注册

#214031. [ICPC 2023 Nanjing R] 原根

内存限制:1024 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

堡堡刚刚学会了数论中的原根。现在他正通过即时通信软件向小青鱼炫耀他的知识。

:::align{center}

本图仅为娱乐,与题目本身无关。如果您看不懂中文,可以安全地跳过本图。 :::

因为如果非负整数 是模 的原根( 是质数),则 ,所以堡堡打算用表达式 来检查 是不是模 的原根。不幸的是,在大多数编程语言中(例如 C 和 C++), Missing argument for \^\texttt{\^ } 是按位异或(XOR)运算符,而不是次方运算符。小青鱼一下子就发现了这个错误,现在他开始思考起以下问题:

给定质数 和非负整数 ,有多少非负整数 满足 ?这里 是按位异或(XOR)运算符。

请帮助小青鱼解决这个问题。

输入格式

有多组测试数据。第一行输入一个整数 )表示测试数据组数,对于每组测试数据:

第一行输入两个整数 是质数)。

输出格式

每组数据输出一行一个整数表示满足限制的 的数量。

样例

样例输入 1

3
2 0
7 11
1145141 998244353

样例输出 1

1
2
872