//ZJ. Cặp số gần nhất
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define For(i, a, b) for(int i = a; i <= b; ++i)
#define endl '\n'
const int maxn = 3e5 + 5;
const int INF = 1e9;
int n, q, a[maxn], pre[maxn], bit[maxn], ans[maxn];
vector<pair<int, int>> qr[maxn];
unordered_map<int, int> last;
void update(int i, int val)
{
for(; i <= n; i += i & -i)
bit[i] = min(bit[i], val);
}
int get(int i)
{
int res = INF;
for(; i > 0; i -= i & -i)
res = min(res, bit[i]);
return res;
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin >> n >> q;
For(i, 1, n) cin >> a[i];
For(i, 1, n)
{
if(last.count(a[i])) pre[i] = last[a[i]];
else pre[i] = 0;
last[a[i]] = i;
}
For(i, 1, q)
{
int l, r;
cin >> l >> r;
qr[r].push_back({l, i});
}
For(i, 1, n) bit[i] = INF;
For(i, 1, n)
{
if(pre[i])
{
int pos = n - pre[i] + 1;
update(pos, i - pre[i]);
}
for(auto [l, id] : qr[i])
{
int pos = n - l + 1;
ans[id] = get(pos);
}
}
For(i, 1, q)
{
if(ans[i] == INF) cout << -1 << endl;
else cout << ans[i] << endl;
}
}
Ly9aSi4gQ+G6t3Agc+G7kSBn4bqnbiBuaOG6pXQKI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgRm9yKGksIGEsIGIpIGZvcihpbnQgaSA9IGE7IGkgPD0gYjsgKytpKQojZGVmaW5lIGVuZGwgJ1xuJwoKY29uc3QgaW50IG1heG4gPSAzZTUgKyA1Owpjb25zdCBpbnQgSU5GID0gMWU5OwoKaW50IG4sIHEsIGFbbWF4bl0sIHByZVttYXhuXSwgYml0W21heG5dLCBhbnNbbWF4bl07CnZlY3RvcjxwYWlyPGludCwgaW50Pj4gcXJbbWF4bl07CnVub3JkZXJlZF9tYXA8aW50LCBpbnQ+IGxhc3Q7Cgp2b2lkIHVwZGF0ZShpbnQgaSwgaW50IHZhbCkKewogICAgZm9yKDsgaSA8PSBuOyBpICs9IGkgJiAtaSkKICAgICAgICBiaXRbaV0gPSBtaW4oYml0W2ldLCB2YWwpOwp9CgppbnQgZ2V0KGludCBpKQp7CiAgICBpbnQgcmVzID0gSU5GOwogICAgZm9yKDsgaSA+IDA7IGkgLT0gaSAmIC1pKQogICAgICAgIHJlcyA9IG1pbihyZXMsIGJpdFtpXSk7CiAgICByZXR1cm4gcmVzOwp9CgpzaWduZWQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsgY291dC50aWUoTlVMTCk7CgogICAgY2luID4+IG4gPj4gcTsKCiAgICBGb3IoaSwgMSwgbikgY2luID4+IGFbaV07CgogICAgRm9yKGksIDEsIG4pCiAgICB7CiAgICAgICAgaWYobGFzdC5jb3VudChhW2ldKSkgcHJlW2ldID0gbGFzdFthW2ldXTsKICAgICAgICBlbHNlIHByZVtpXSA9IDA7CiAgICAgICAgbGFzdFthW2ldXSA9IGk7CiAgICB9CgogICAgRm9yKGksIDEsIHEpCiAgICB7CiAgICAgICAgaW50IGwsIHI7CiAgICAgICAgY2luID4+IGwgPj4gcjsKICAgICAgICBxcltyXS5wdXNoX2JhY2soe2wsIGl9KTsKICAgIH0KCiAgICBGb3IoaSwgMSwgbikgYml0W2ldID0gSU5GOwoKICAgIEZvcihpLCAxLCBuKQogICAgewogICAgICAgIGlmKHByZVtpXSkKICAgICAgICB7CiAgICAgICAgICAgIGludCBwb3MgPSBuIC0gcHJlW2ldICsgMTsKICAgICAgICAgICAgdXBkYXRlKHBvcywgaSAtIHByZVtpXSk7CiAgICAgICAgfQoKICAgICAgICBmb3IoYXV0byBbbCwgaWRdIDogcXJbaV0pCiAgICAgICAgewogICAgICAgICAgICBpbnQgcG9zID0gbiAtIGwgKyAxOwogICAgICAgICAgICBhbnNbaWRdID0gZ2V0KHBvcyk7CiAgICAgICAgfQogICAgfQoKICAgIEZvcihpLCAxLCBxKQogICAgewogICAgICAgIGlmKGFuc1tpXSA9PSBJTkYpIGNvdXQgPDwgLTEgPDwgZW5kbDsKICAgICAgICBlbHNlIGNvdXQgPDwgYW5zW2ldIDw8IGVuZGw7CiAgICB9Cn0K