#include <iostream>
#include <vector>
using namespace std;
vector<pair<int, int>> tr;
vector<int> A;
void build(int v, int l, int r) {
if (r - l == 1) {
tr[v].first = A[l];
tr[v].second = l + 1;
return;
}
int m = (l + r) / 2;
build(2 * v + 1, l, m);
build(2 * v + 2, m, r);
tr[v] = max(tr[2 * v + 1], tr[2 * v + 2]);
}
pair<int, int> query(int v, int l, int r, int ql, int qr) {
if (ql == l && qr == r) {
return tr[v];
}
if (qr <= ql) {
return make_pair(-1e9, -1);
}
int m = (l + r) / 2;
pair<int, int> left = query(2 * v + 1, l, m, ql, min(m, qr));
pair<int, int> right = query(2 * v + 2, m, r, max(m, ql), qr);
return max(left, right);
}
void update(int v, int l, int r, int pos) {
if (r - l == 1) {
tr[v].first = A[l];
return;
}
int m = (l + r) / 2;
if (pos < m) {
update(2 * v + 1, l, m, pos);
} else {
update(2 * v + 2, m, r, pos);
}
tr[v] = max(tr[2 * v + 1], tr[2 * v + 2]);
}
int main()
{
int n;
cin >> n;
A.resize(n);
for (int i = 0; i < n; ++i)
cin >> A[i];
tr.resize(4*n);
build(0, 0, n);
int k;
cin >> k;
while (k --> 0) {
int l, r;
cin >> l >> r;
l--;
pair<int, int> ans = query(0, 0, n, l, r);
cout << ans.first << " " << ans.second << "\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZlY3RvcjxwYWlyPGludCwgaW50Pj4gdHI7CnZlY3RvcjxpbnQ+IEE7Cgp2b2lkIGJ1aWxkKGludCB2LCBpbnQgbCwgaW50IHIpIHsKICAgIGlmIChyIC0gbCA9PSAxKSB7CiAgICAgICAgdHJbdl0uZmlyc3QgPSBBW2xdOwogICAgICAgIHRyW3ZdLnNlY29uZCA9IGwgKyAxOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGludCBtID0gKGwgKyByKSAvIDI7CiAgICBidWlsZCgyICogdiArIDEsIGwsIG0pOwogICAgYnVpbGQoMiAqIHYgKyAyLCBtLCByKTsKICAgIHRyW3ZdID0gbWF4KHRyWzIgKiB2ICsgMV0sIHRyWzIgKiB2ICsgMl0pOwp9CgpwYWlyPGludCwgaW50PiBxdWVyeShpbnQgdiwgaW50IGwsIGludCByLCBpbnQgcWwsIGludCBxcikgewogICAgaWYgKHFsID09IGwgJiYgcXIgPT0gcikgewogICAgICAgIHJldHVybiB0clt2XTsKICAgIH0KICAgIGlmIChxciA8PSBxbCkgewogICAgICAgIHJldHVybiBtYWtlX3BhaXIoLTFlOSwgLTEpOwogICAgfQogICAgaW50IG0gPSAobCArIHIpIC8gMjsKICAgIHBhaXI8aW50LCBpbnQ+IGxlZnQgPSBxdWVyeSgyICogdiArIDEsIGwsIG0sIHFsLCBtaW4obSwgcXIpKTsKICAgIHBhaXI8aW50LCBpbnQ+IHJpZ2h0ID0gcXVlcnkoMiAqIHYgKyAyLCBtLCByLCBtYXgobSwgcWwpLCBxcik7CiAgICByZXR1cm4gbWF4KGxlZnQsIHJpZ2h0KTsKfQoKdm9pZCB1cGRhdGUoaW50IHYsIGludCBsLCBpbnQgciwgaW50IHBvcykgewogICAgaWYgKHIgLSBsID09IDEpIHsKICAgICAgICB0clt2XS5maXJzdCA9IEFbbF07CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaW50IG0gPSAobCArIHIpIC8gMjsKICAgIGlmIChwb3MgPCBtKSB7CiAgICAgICAgdXBkYXRlKDIgKiB2ICsgMSwgbCwgbSwgcG9zKTsKICAgIH0gZWxzZSB7CiAgICAgICAgdXBkYXRlKDIgKiB2ICsgMiwgbSwgciwgcG9zKTsKICAgIH0KICAgIHRyW3ZdID0gbWF4KHRyWzIgKiB2ICsgMV0sIHRyWzIgKiB2ICsgMl0pOwp9CgppbnQgbWFpbigpCnsKICAgIGludCBuOwogICAgY2luID4+IG47CiAgICBBLnJlc2l6ZShuKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKQogICAgICAgIGNpbiA+PiBBW2ldOwogICAgdHIucmVzaXplKDQqbik7CiAgICBidWlsZCgwLCAwLCBuKTsKICAgIGludCBrOwogICAgY2luID4+IGs7CiAgICB3aGlsZSAoayAtLT4gMCkgewogICAgICAgIGludCBsLCByOwogICAgICAgIGNpbiA+PiBsID4+IHI7CiAgICAgICAgbC0tOwogICAgICAgIHBhaXI8aW50LCBpbnQ+IGFucyA9IHF1ZXJ5KDAsIDAsIG4sIGwsIHIpOwogICAgICAgIGNvdXQgPDwgYW5zLmZpcnN0IDw8ICIgIiA8PCBhbnMuc2Vjb25kIDw8ICJcbiI7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=