蒲公英
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在乡下的小路旁种着许多蒲公英,而我们的问题正是与这些蒲公英有关。
为了简化起见,我们把所有的蒲公英看成一个长度为 n 的序列,其中a_i为一个正整数,表示第 i 棵蒲公英的种类编号。
而每次询问一个区间 [l,r] ,你需要回答区间里出现次数最多的是哪种蒲公英,如果有若干种蒲公英出现次数相同,则输出种类编号最小的那个。

输入描述:

第一行两个整数n,m,表示有 n 株蒲公英,m 次询问。
接下来一行 n 个空格隔开的整数a_i,表示蒲公英的种类。
再接下来 m 行每行两个整数l_0,r_0,我们令上次询问的结果为 x(如果这是第一次询问,则 x=0)。
,如果l>r,则交换l,r。
最终的询问区间为[l,r]。

输出描述:

输出 m 行。
每行一个整数,表示每次询问的结果。
示例1

输入

复制
6 3
1 2 3 2 1 2
1 5
3 6
1 5

输出

复制
1
2
1

备注: