Description
(Jim)是一位宝石收藏品行家,在他的收藏室里保存着许多珍贵的宝石,磷叶石、钻石、摩根石、透绿柱石….,已知(Jim)有(n)个宝石,现在他将这(n)个宝石从(1)到(n)排开编号从(1)到(n)。
(Jim)发现他所有的宝石中竟然有不少是完全相同的的,我们规定每个宝石都有一个特征值(ai),当两个宝石特征值相等时及认为两个宝石相同。
Jim发现两个相同的宝石离得越接近越明显。
Jim现在有m个问题,他想问你在编号(l)到(r)这一区间里的所有宝石中,两个相同宝石的最近距离是多少,(两个宝石的距离是它们编号的绝对值之差)。
保证(l<r),对于(ax)和(ay)若(ax=ay)它们的距离为(|x-y|)。
Input
单组测试数据。
第一行有两个整数(n),(m)((1≤n,m≤2*10^5)),表示宝石序列的长度和查询的次数。
第二行有(n)个整数(a1),(a2),(...),(an)((-10^9≤ai≤10^9)),(ai)表示第(i)个宝石的特征值。
接下来有(m)行,每一行给出两个整数(lj),(rj)((1≤lj≤rj≤n))表示一个查询。
Output
对于每一个查询,输出最近的距离,如果没有相等的元素,输出(-1)。
Sample Input
5 3
1 1 2 3 2
1 5
2 4
3 5
Sample Output
1
-1
2
Data Constraint
对于(10)%的数据,保证(n<=20)
对于(50)%的数据,保证(n<=50000)
对于(100)%的数据,保证(n<=200000)
Limit
(2000)ms (128)M