「SWTR-8」幂塔方程

题目背景

![](https://cdn.luogu.com.cn/upload/image_hosting/iflu3244.png) 图片来自于 Solara570 的 B 站视频 [轻易相信简单直观的结论究竟有多危险?](https://www.bilibili.com/video/BV1PW41177Vb)。 很久以前的某一天,小 A 在 B 站上无意间刷到了这个视频。视频中的无穷幂塔方程及其「简单直观,但暗藏陷阱」的解法令他影响深刻。 $$ \Huge x ^ {x ^ {x ^ {x ^ {x}}}} $$

题目描述

如果小 A 是一个,一个一个一个毒瘤,他会让你求解套了十层甚至九层的幂塔方程,但他不是。 他想让你求解: $$ x ^ x\equiv D \pmod n $$ 保证 $n$ 的最大质因子不超过 $10 ^ 5$,且 $D$ 与 $n$ 互质。 你需要保证得到的解 $x$ 为 $[0, 2 ^ {125}]$ 范围内的整数。若该范围内无解,输出 $-1$;若存在多解,输出任意一个。 多组测试数据。

输入输出格式

输入格式


第一行一个整数 $S$,表示该测试点的 Subtask 编号。 第二行一个整数 $T$,表示数据组数。接下来 $T$ 组测试数据,每组数据形如: - 第一行两个整数 $n, D$。 - 第二行若干递增的质数 $p_1, p_2, \cdots, p_k$,表示 $n$ 的所有质因子。

输出格式


输出 $T$ 行 $[-1, 2 ^ {125}]$ 范围内的整数。

输入输出样例

输入样例 #1

0
10
7 4
7
16 3
2
6 1
2 3
144 5
2 3
2520 11
2 3 5 7
999999 2
3 7 11 13 37
22511 21795
22511
47067727606562827 30911969774113407
3083 13697 25747 43291
2147483648 2333333
2
675288511488360000 510472780110265817
2 3 5 7 11

输出样例 #1

25
11
1
101
4811
219871229
16139671
760913896873844308082367046696111
1221598821
24445987958110300438937

说明

**「数据范围与约定」** **本题采用捆绑测试**。 - Subtask #1(5 points):$n\leq 20$。 - Subtask #2(8 points):$n\leq 400$。依赖 Subtask #1。 - Subtask #3(11 points):$n$ 是质数,$T\leq 10 ^ 4$。 - Subtask #4(15 points):$\mu(n) \neq 0$,$T\leq 100$。 - Subtask #5(9 points):$\mu(n) \neq 0$,$T\leq 10 ^ 4$。依赖 Subtask #4。 - Subtask #6(13 points):$n = p ^ k(p \in \mathrm{prime})$,$T\leq 100$。 - Subtask #7(7 points):$n = p ^ k(p \in \mathrm{prime})$,$T\leq 10 ^ 4$。依赖 Subtask #3,#6。 - Subtask #8(6 points):$n$ 的最大质因子不超过 $ 1064$。依赖 Subtask #2。 - Subtask #9(16 points):$n\leq 10 ^ 9$,$T\leq 10 ^ 4$。 - Subtask #10(10 points):无特殊限制。依赖 Subtask #5,#7,#8,#9。 对于 $100\%$ 的数据: - $1\leq T\leq 4\times 10 ^ 4$。 - $2\leq n \leq 10 ^ {18}$。 - $1\leq D < n$,$D\perp n$。 - $2\leq p_1 < p_2 < \cdots < p_k \leq 10 ^ 5$。 **「帮助与提示」** 选手可以通过边读入边试除的方式判断何时停止读入 $n$ 的质因子。 **「题目来源」** - [Sweet Round 8](https://www.luogu.com.cn/contest/73382) F - Idea & Solution:[demonlover923](https://www.luogu.com.cn/user/152997) & [codecode](https://www.luogu.com.cn/user/119526)。 - Tester:[Alex_Wei](https://www.luogu.com.cn/user/123294)。