SP8063 AMR10I - Dividing Stones

题目描述

有 $N$ 块石头,可以任意分成若干堆。每种分法的价值是所有堆中石头数量的乘积对 $P$ 取模后的结果。对于特定的 $N$ 和 $P$,可能出现多少种不同的价值?

输入格式

第一行是测试用例的数量 $T$。接下来的 $T$ 行中,每行提供两个整数,分别表示一个测试用例的 $N$ 和 $P$。

输出格式

输出 $T$ 行,每行给出对应测试用例的答案。

说明/提示

- $T \le 20$ - $2 \le N \le 70$ - $2 \le P \le 10^9$ **样例输入** ``` 2 3 1000 5 1000 ``` **样例输出** ``` 3 6 ``` **解释** 对于第一个测试用例,石头可以按以下方式分堆:(1,1,1),(1,2),(2,1),(3);其值分别为 1,2,2,3,所以有 3 种不同的值。 对于第二个测试用例,可能的价值是数字 1 到 6,以下是计算过程: 1 = 1 \* 1 \* 1 \* 1 \* 1 2 = 2 \* 1 \* 1 \* 1 3 = 3 \* 1 \* 1 4 = 4 \* 1 5 = 5 6 = 2 \* 3 **本翻译由 AI 自动生成**