Description
在乡下的小路旁种着许多蒲公英,而我们的问题正是与这些蒲公英有关。
为了简化起见,我们把所有的蒲公英看成一个长度为 n 的序列 {a1,a2..an},其中 ai 为一个正整数,表示第 i 棵蒲公英的种类编号。
而每次询问一个区间 [l,r],你需要回答区间里出现次数最多的是哪种蒲公英,如果有若干种蒲公英出现次数相同,则输出种类编号最小的那个。
注意,你的算法必须是在线的。
Input
第一行有两个整数,分别表示蒲公英的数量 n 和询问次数 m。
第二行有 n 个整数,第 i 个整数表示第 i 棵蒲公英的种类 ai。
接下来 m 行,每行两个整数 L0,R0,表示一次询问。输入是加密的,解密方法如下:
令上次询问的结果为 x(如果这是第一次询问,则 x=0),设 L=((L0+x−1) mod n)+1, R=((R0+x−1) mod n)+1。如果 L>R,则交换 L,R。
最终的询问区间为计算后的 [L,R]。
Output
对于每次询问,输出一行一个整数表示答案。
6 3
1 2 3 2 1 2
1 5
3 6
1 5
HINT
-
对于 20% 的数据,保证 n,m≤3000。
-
对于 100% 的数据,保证 1≤n≤40000, 1≤m≤50000, 1≤ai≤109,1≤L0,R0≤n。