#P9920. 众数

众数

众数

Problem Description

有一个长度为 n n 的整数序列 a1,a2,,an a_1,a_2,\cdots,a_n ,序列中每个元素 ai a_i 都在 1n 1\sim n 等概率随机生成。 定义一个序列 b1,b2,,bm b_1,b_2,\cdots,b_m 的价值 val(b1,b2,,bm) \operatorname{val}(b_1,b_2,\cdots,b_m) 为其所有连续子序列的最大值的众数(即出现次数最大的数),当有多个众数时选择值最大的众数。 给出 q q 次询问,每次询问给定两个整数 l,r l,r ,问 val(al,al+1,,ar) \operatorname{val}(a_{l},a_{l+1},\cdots,a_r)

Input

本题单个测试点内包含多组测试数据。 第一行一个整数 T(1T3) T(1\leq T\leq 3) ,表示数据组数。 对于每组数据,第一行两个整数 n,q n,q (1n,q2×105) (1\leq n,q\leq 2\times 10^5) ,分别表示序列长度和询问次数。 第二行 n n 个整数 a1,a2,,an a_1,a_2,\cdots,a_n (1ain) (1\leq a_i\leq n) ,表示序列。 接下来 q q 行,每行两个整数 li,ri l_i,r_i (1lirin) (1\leq l_i\leq r_i\leq n) ,表示一次询问。

Output

对于每组数据,由于输出很大,假设原来第 ii 个询问的答案是 xix_i,你只需要输出一行一个整数:

i=1qixi\bigoplus_{i=1}^{q}i\cdot x_i

iixix_i 乘积的异或和即可。

Sample Input

1
5 3
1 2 2 1 3
1 5
2 3
3 5

Sample Output

15

Hint

三次询问的答案分别为 2,2,32,2,3

Source

2024“钉耙编程”中国大学生算法设计超级联赛(1)