#include <iostream>
#include <vector>
using namespace std;
vector<pair<int, int>> tree;
pair<int, int> merge(pair<int, int> a, pair<int, int> b) {
if (a.first > b.first) {
return a;
}
if (a.first < b.first) {
return b;
}
return {a.first, a.second<b.second};
}
void build(int a[], int v, int l, int r) {
if (r - l == 1) {
tree[v] = {a[l], l};
return;
}
int m = (l + r) / 2;
build(a, 2 * v + 1, l, m);
build(a, 2 * v + 2, m, r);
tree[v] = merge(tree[2 * v + 1], tree[2 * v + 2]);
}
pair<int, int> get(int v, int l, int r, int ql, int qr) {
if (ql >= r || qr <= l) {
return {0, -1};
}
if (ql <= l && qr >= r) {
return tree[v];
}
int m = (l + r) / 2;
return merge(get(2 * v + 1, l, m, ql, qr), get(2 * v + 2, m, r, ql, qr));
}
int main() {
int n;
cin >> n;
int a[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
tree.resize(4 * n);
build(a, 0, 0, n);
int k;
cin >> k;
while (k--) {
int l, r;
cin >> l >> r;
pair<int, int> res = get(0, 0, n, l - 1, r);
cout << res.second + 1 << " ";
}
cout << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp2ZWN0b3I8cGFpcjxpbnQsIGludD4+IHRyZWU7CnBhaXI8aW50LCBpbnQ+IG1lcmdlKHBhaXI8aW50LCBpbnQ+IGEsIHBhaXI8aW50LCBpbnQ+IGIpIHsKICAgIGlmIChhLmZpcnN0ID4gYi5maXJzdCkgewogICAgICAgIHJldHVybiBhOwogICAgfQogICAgaWYgKGEuZmlyc3QgPCBiLmZpcnN0KSB7CiAgICAgICAgcmV0dXJuIGI7CiAgICB9CiAgICByZXR1cm4ge2EuZmlyc3QsIGEuc2Vjb25kPGIuc2Vjb25kfTsKfQp2b2lkIGJ1aWxkKGludCBhW10sIGludCB2LCBpbnQgbCwgaW50IHIpIHsKICAgIGlmIChyIC0gbCA9PSAxKSB7CiAgICAgICAgdHJlZVt2XSA9IHthW2xdLCBsfTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpbnQgbSA9IChsICsgcikgLyAyOwogICAgYnVpbGQoYSwgMiAqIHYgKyAxLCBsLCBtKTsKICAgIGJ1aWxkKGEsIDIgKiB2ICsgMiwgbSwgcik7CiAgICB0cmVlW3ZdID0gbWVyZ2UodHJlZVsyICogdiArIDFdLCB0cmVlWzIgKiB2ICsgMl0pOwp9CnBhaXI8aW50LCBpbnQ+IGdldChpbnQgdiwgaW50IGwsIGludCByLCBpbnQgcWwsIGludCBxcikgewogICAgaWYgKHFsID49IHIgfHwgcXIgPD0gbCkgewogICAgICAgIHJldHVybiB7MCwgLTF9OwogICAgfQogICAgaWYgKHFsIDw9IGwgJiYgcXIgPj0gcikgewogICAgICAgIHJldHVybiB0cmVlW3ZdOwogICAgfQogICAgaW50IG0gPSAobCArIHIpIC8gMjsKICAgIHJldHVybiBtZXJnZShnZXQoMiAqIHYgKyAxLCBsLCBtLCBxbCwgcXIpLCBnZXQoMiAqIHYgKyAyLCBtLCByLCBxbCwgcXIpKTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgaW50IGFbbl07CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgfQoKICAgIHRyZWUucmVzaXplKDQgKiBuKTsKICAgIGJ1aWxkKGEsIDAsIDAsIG4pOwoKICAgIGludCBrOwogICAgY2luID4+IGs7CgogICAgd2hpbGUgKGstLSkgewogICAgICAgIGludCBsLCByOwogICAgICAgIGNpbiA+PiBsID4+IHI7CiAgICAgICAgcGFpcjxpbnQsIGludD4gcmVzID0gZ2V0KDAsIDAsIG4sIGwgLSAxLCByKTsKICAgICAgICBjb3V0IDw8IHJlcy5zZWNvbmQgKyAxIDw8ICIgIjsgIAogICAgfQoKICAgIGNvdXQgPDwgZW5kbDsKICAgIHJldHVybiAwOwp9Cg==