#include <bits/stdc++.h>
#define pub push_back
#define log2(x) (x > 0 ? 63 - __builtin_clzll(x) : -1)
#define FOR(i, l, r, x) for(int i = l; i <= r; i += x)
#define FOD(i, l, r, x) for(int i = l; i >= r; i -= x)
#define pii pair<int, int>
#define fi first
#define se second
#define all(x) begin(x), end(x)
#define int long long
#define index iii
using namespace std;
const int N = 2e5 + 5;
const int M = 350;
const int LOG = 19;
const int inf = 3e18;
struct thi {int fi, se, th; };
int n, q, a[N], out[N];
int block = 0;
thi query[N];
int mp[N];
int last[N], first[N];
deque <int> indx[N];
multiset <int> ans;
bool cmp(thi &a, thi &b) {
if (a.fi / block == b.fi / block) return a.se < b.se;
return a.fi < b.fi;
}
void input() {
cin >> n;
block = (int)sqrt(n);
FOR(i, 1, n, 1) {
cin >> a[i];
}
cin >> q;
FOR(i, 1, q, 1) {
cin >> query[i].fi >> query[i].se;
query[i].th = i;
}
sort(query + 1, query + q + 1, cmp);
}
void del(int o, int &x, int &inx) {
int old_dis = indx[x].back() - indx[x].front();
ans.erase(ans.find(old_dis));
if (o == 1) indx[x].pop_front();
if (o == 2) indx[x].pop_back();
if (!indx[x].empty()) {
int new_dis = indx[x].back() - indx[x].front();
ans.insert(new_dis);
}
}
void add(int o, int &x, int &inx) {
if (!indx[x].empty()) {
int old_dis = indx[x].back() - indx[x].front();
ans.erase(ans.find(old_dis));
}
if (o == 1) indx[x].push_front(inx);
if (o == 2) indx[x].push_back(inx);
int new_dis = indx[x].back() - indx[x].front();
ans.insert(new_dis);
}
void solve() {
input();
int L = 1, R = 0;
FOR(i, 1, q, 1) {
int l = query[i].fi;
int r = query[i].se;
int id = query[i].th;
while(L > l) add(1, a[--L], i);
while(R < r) add(2, a[++R], i);
while(L < l) del(1, a[L++], i);
while(R > r) del(2, a[R--], i);
if (ans.empty()) {
out[id] = 0;
} else {
out[id] = *ans.rbegin();
}
}
FOR(i, 1, q, 1) {
cout << out[i] << '\n';
}
}
signed main() {
#define name "baitap"
if (ifstream(name".inp")) {
freopen(name".inp", "r", stdin);
freopen(name".out", "w", stdout);
}
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgcHViIHB1c2hfYmFjawojZGVmaW5lIGxvZzIoeCkgKHggPiAwID8gNjMgLSBfX2J1aWx0aW5fY2x6bGwoeCkgOiAtMSkKI2RlZmluZSBGT1IoaSwgbCwgciwgeCkgZm9yKGludCBpID0gbDsgaSA8PSByOyBpICs9IHgpCiNkZWZpbmUgRk9EKGksIGwsIHIsIHgpIGZvcihpbnQgaSA9IGw7IGkgPj0gcjsgaSAtPSB4KQojZGVmaW5lIHBpaSBwYWlyPGludCwgaW50PgojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgYWxsKHgpIGJlZ2luKHgpLCBlbmQoeCkKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgaW5kZXggaWlpCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTiA9IDJlNSArIDU7CmNvbnN0IGludCBNID0gMzUwOwpjb25zdCBpbnQgTE9HID0gMTk7CmNvbnN0IGludCBpbmYgPSAzZTE4OwoKc3RydWN0IHRoaSB7aW50IGZpLCBzZSwgdGg7IH07CgppbnQgbiwgcSwgYVtOXSwgb3V0W05dOwppbnQgYmxvY2sgPSAwOwp0aGkgcXVlcnlbTl07CmludCBtcFtOXTsKCmludCBsYXN0W05dLCBmaXJzdFtOXTsKZGVxdWUgPGludD4gaW5keFtOXTsKbXVsdGlzZXQgPGludD4gYW5zOwoKYm9vbCBjbXAodGhpICZhLCB0aGkgJmIpIHsKICAgIGlmIChhLmZpIC8gYmxvY2sgPT0gYi5maSAvIGJsb2NrKSByZXR1cm4gYS5zZSA8IGIuc2U7CiAgICByZXR1cm4gYS5maSA8IGIuZmk7Cn0Kdm9pZCBpbnB1dCgpIHsKICAgIGNpbiA+PiBuOwogICAgYmxvY2sgPSAoaW50KXNxcnQobik7CiAgICBGT1IoaSwgMSwgbiwgMSkgewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgfQogICAgY2luID4+IHE7CiAgICBGT1IoaSwgMSwgcSwgMSkgewogICAgICAgIGNpbiA+PiBxdWVyeVtpXS5maSA+PiBxdWVyeVtpXS5zZTsKICAgICAgICBxdWVyeVtpXS50aCA9IGk7CiAgICB9CiAgICBzb3J0KHF1ZXJ5ICsgMSwgcXVlcnkgKyBxICsgMSwgY21wKTsKfQoKdm9pZCBkZWwoaW50IG8sIGludCAmeCwgaW50ICZpbngpIHsKICAgIGludCBvbGRfZGlzID0gaW5keFt4XS5iYWNrKCkgLSBpbmR4W3hdLmZyb250KCk7CiAgICBhbnMuZXJhc2UoYW5zLmZpbmQob2xkX2RpcykpOwoKICAgIGlmIChvID09IDEpIGluZHhbeF0ucG9wX2Zyb250KCk7CiAgICBpZiAobyA9PSAyKSBpbmR4W3hdLnBvcF9iYWNrKCk7CgogICAgaWYgKCFpbmR4W3hdLmVtcHR5KCkpIHsKICAgICAgICBpbnQgbmV3X2RpcyA9IGluZHhbeF0uYmFjaygpIC0gaW5keFt4XS5mcm9udCgpOwogICAgICAgIGFucy5pbnNlcnQobmV3X2Rpcyk7CiAgICB9Cn0Kdm9pZCBhZGQoaW50IG8sIGludCAmeCwgaW50ICZpbngpIHsKICAgIGlmICghaW5keFt4XS5lbXB0eSgpKSB7CiAgICAgICAgaW50IG9sZF9kaXMgPSBpbmR4W3hdLmJhY2soKSAtIGluZHhbeF0uZnJvbnQoKTsKICAgICAgICBhbnMuZXJhc2UoYW5zLmZpbmQob2xkX2RpcykpOwogICAgfQoKICAgIGlmIChvID09IDEpIGluZHhbeF0ucHVzaF9mcm9udChpbngpOwogICAgaWYgKG8gPT0gMikgaW5keFt4XS5wdXNoX2JhY2soaW54KTsKCiAgICBpbnQgbmV3X2RpcyA9IGluZHhbeF0uYmFjaygpIC0gaW5keFt4XS5mcm9udCgpOwogICAgYW5zLmluc2VydChuZXdfZGlzKTsKfQp2b2lkIHNvbHZlKCkgewogICAgaW5wdXQoKTsKCiAgICBpbnQgTCA9IDEsIFIgPSAwOwoKICAgIEZPUihpLCAxLCBxLCAxKSB7CiAgICAgICAgaW50IGwgPSBxdWVyeVtpXS5maTsKICAgICAgICBpbnQgciA9IHF1ZXJ5W2ldLnNlOwogICAgICAgIGludCBpZCA9IHF1ZXJ5W2ldLnRoOwoKICAgICAgICB3aGlsZShMID4gbCkgYWRkKDEsIGFbLS1MXSwgaSk7CiAgICAgICAgd2hpbGUoUiA8IHIpIGFkZCgyLCBhWysrUl0sIGkpOwogICAgICAgIHdoaWxlKEwgPCBsKSBkZWwoMSwgYVtMKytdLCBpKTsKICAgICAgICB3aGlsZShSID4gcikgZGVsKDIsIGFbUi0tXSwgaSk7CgogICAgICAgIGlmIChhbnMuZW1wdHkoKSkgewogICAgICAgICAgICBvdXRbaWRdID0gMDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBvdXRbaWRdID0gKmFucy5yYmVnaW4oKTsKICAgICAgICB9CiAgICB9CiAgICBGT1IoaSwgMSwgcSwgMSkgewogICAgICAgIGNvdXQgPDwgb3V0W2ldIDw8ICdcbic7CiAgICB9Cn0Kc2lnbmVkIG1haW4oKSB7CiAgICAjZGVmaW5lIG5hbWUgImJhaXRhcCIKICAgIGlmIChpZnN0cmVhbShuYW1lIi5pbnAiKSkgewogICAgICAgIGZyZW9wZW4obmFtZSIuaW5wIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbihuYW1lIi5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICB9CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIHNvbHZlKCk7Cn0K