#DX0010. 众数

众数

题目描述

有一个长度为 nn 的整数序列 a1,a2,...,ana_1,a_2,...,a_n,序列中每个元素 aia_i 都在 1n1\sim n等概率随机生成。

定义一个序列 b1,b2,...,bmb_1,b_2,...,b_m 的价值 val(b1,b2,...,bm)\text{val}(b_1,b_2,...,b_m) 为其所有连续子序列的最大值的众数(即出现次数最大的数),当有多个众数时选择值最大的众数。

给出 qq 次询问,每次询问给定两个整数 l,rl,r,问 val(al,al+1,...,ar)\text{val}(a_l,a_{l+1},...,a_r)

输入格式

本题单个测试点内包含多组测试数据。

第一行一个整数 TT1T31\le T\le 3),表示数据组数。

对于每组数据,第一行两个整数 n,qn,q1n,q2×1051\le n,q \le2\times10^5),分别表示序列长度和询问次数。

第二行 nn 个整数 a1,a2,...,ana_1,a_2,...,a_n1ain1\le a_i \le n),表示序列。

接下来 qq 行,每行两个整数 li,ril_i,r_i1lirin1\le l_i \le r_i \le n),表示一次询问。

输出格式

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

i=1qi×xi\bigoplus_{i=1}^q i \times x_i

iixix_i 乘积的异或和即可。

输入样例

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

输出样例

15

提示

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