问题 H: cats 的集合 2

内存限制:512 MB 时间限制:16 S
题面:传统 评测方式:文本比较 上传者:
提交:0 通过:0

题目描述

cats 有一个大小为 n 的可重集合 S,但是 cats 却不知道 S 中的每个数分别是多少,只知道其中的第 i 个数在 [0, ai ] 中。定义 S 的价值为集合中所有数的异或和,cats 认为一个集合有意义,当且仅当这个集 合的价值在 [L, R] 中。cats 想知道在 S 的所有可能方案中,有多少方案满足 S 是有意义的,由于 cats 并不确定 L, R 的具体值,所以 cats 会进行多次询问。因为方案数可能会很大,你只需要输出答案对 998244353 取模后得到的结果.


				

输入格式

第一行一个整数 T,表示测试组数 (1 ≤ T ≤ 10)。 
对于每一组测试数据,第一行有两个整数 n, m (1 ≤ n, m ≤ 10^6 ) 。
 第二行 n 个整数,第 i 个整数表示 ai (0 ≤ ai ≤ 10^18) 。 
接下来有 m 行,每行两个整数 L, R (0 ≤ L ≤ R ≤ 10^18) 。 
保证 Pn ≤ 2 × 10^6 , Pm ≤ 2 × 10^6 。

输出格式

对于每组测试数据的每次询问,输出一行一个整数,表示答案。

输入样例 复制

2
2 2
1 2
0 0
1 2
4 1
2 3 5 7
2 7

输出样例 复制

2
3
432