#P15826. [2025年山东集训第三轮]超级电脑

[2025年山东集训第三轮]超级电脑

题目描述

对于一个长度为 nn 的非负整数序列,定义该序列的权值为其 2n2^n 个子序列的异或和之和。

例如,序列 {1,1}\{1,1\} 的权值为

0+(1)+(1)+(11)=2,0+(1)+(1)+(1\oplus 1)=2,

序列 {1,2}\{1,2\} 的权值为

0+1+2+(12)=6.0+1+2+(1\oplus 2)=6.

给定整数 n,m,xn,m,x,请计算最小的非负整数 kk,使得存在一个长度为 nn 且权值为 kk 的非负整数序列,并且满足

kmodm=x.k\bmod m=x.

如果这样的 kk 不存在,则输出 1-1

这样的 kk 可能很大,输出时要求对 998244353998244353 取模。

注意,输出的结果是最小的 kk 取模后的结果,而不是“kk 取模后的最小结果”。

时间限制:2 秒。
空间限制:512 MiB。

输入格式

本题开启多组测试。

输入的第一行包含一个整数 TT,表示测试数据组数。

对于每组测试数据,输入一行三个整数 n,x,mn,x,m,表示一组询问。

输出格式

对于每组询问,输出一行一个整数表示答案。如果 kk 存在,则输出其可能的最小值对 998244353998244353 取模后的结果;否则输出 1-1

样例

输入

3
3 5 13
2 2 7
4 3 17

输出

28
6
-1

数据范围

对于 100%100\% 的数据,保证

$$0\le T\le 100,\quad 1\le n\le 10^{10^4},\quad 0\le x<m\le 10^9.$$

保证奇数编号的测试点有 x0x\ne 0

测试点编号 nn\le mm\le 特殊性质
121\sim 2 5
343\sim 4 10810^8 10510^5
575\sim 7 101810^{18} 10910^9 A
8108\sim 10 1010410^{10^4}

特殊性质 A:保证 mm 是质数。