小 J 用计算机生成了 $n$ 个长为 $m$ 的序列(每个序列的元素从 $0$ 到 $m - 1$ 标号),具体生成方式如下:
对于每个序列,小 J 先将所有元素置为 $0$,再指定两个生成参数 $x$ 和 $v$,对序列进行如下操作:
for (i = x; i > 0; i -= lowbit(i))
for (j = i - lowbit(i); j < i; j++)
A[j] += i * (i ^ v);
其中 $A$ 表示该序列,$\mathrm{lowbit}(i)$ 表示 $i$ 在二进制下最低非零位的值,如 $\mathrm{lowbit}(20) = \mathrm{lowbit}\left(\left(10100\right)_2\right) = \left(100\right)_2 = 4$。
接下来小 M 会进行 $q$ 次询问,每次询问有两个参数 $c$ 和 $d$,请你回答前 $c$ 个序列 $\mathrm{xor}$ 卷积的第 $d$ 项,即设前 $c$ 个序列为 $S_1, S_2 \dots, S_c$,求($\oplus$ 表示二进制按位异或运算):
$$
\sum_{{\array{p_1 \oplus p_2 \oplus \dots \oplus p_c = d \ 0 \le p_1, p_2, \dots, p_c < m}}}{\prod_{i=1}^{c}{S_{i,p_i}}}
$$
答案对 $998244353$ 取模。