#include <bits/stdc++.h>
using namespace std;
//
const int maxn = 1e5 + 5;
//
int n, q, A[maxn], rmq[maxn][20];
//
void build (void)
{
for (int i = 1; i <= n; ++i)
rmq[i][0] = i;
for (int u, v, j = 1; (1 << j) <= n; ++j)
for (int i = 1; i + (1 << j) - 1 <= n; ++i)
u = rmq[i][j - 1],
v = rmq[i + (1 << j - 1)][j - 1],
rmq[i][j] = (A[u] > A[v] ? v : u);
}
int get (int l, int r)
{
int k = __lg(r - l + 1);
//
l = rmq[l][k];
r = rmq[r - (1 << k) + 1][k];
return A[l] > A[r] ? r : l;
}
//
void process (void)
{
cin >> n >> q;
for (int i = 1; i <= n; ++i)
cin >> A[i];
build();
for (int l, r; q--; cout << '\n')
cin >> l >> r,
cout << get(l, r);
}
//
signed main (void)
{
ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
process();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci8vCmNvbnN0IGludCBtYXhuID0gMWU1ICsgNTsKLy8KaW50IG4sIHEsIEFbbWF4bl0sIHJtcVttYXhuXVsyMF07Ci8vCnZvaWQgYnVpbGQgKHZvaWQpCnsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkKICAgICAgICBybXFbaV1bMF0gPSBpOwogICAgZm9yIChpbnQgdSwgdiwgaiA9IDE7ICgxIDw8IGopIDw9IG47ICsraikKICAgICAgICBmb3IgKGludCBpID0gMTsgaSArICgxIDw8IGopIC0gMSA8PSBuOyArK2kpCiAgICAgICAgICAgIHUgPSBybXFbaV1baiAtIDFdLAogICAgICAgICAgICB2ID0gcm1xW2kgKyAoMSA8PCBqIC0gMSldW2ogLSAxXSwKICAgICAgICAgICAgcm1xW2ldW2pdID0gKEFbdV0gPiBBW3ZdID8gdiA6IHUpOwp9CmludCBnZXQgKGludCBsLCBpbnQgcikKewogICAgaW50IGsgPSBfX2xnKHIgLSBsICsgMSk7CiAgICAvLwogICAgbCA9IHJtcVtsXVtrXTsKICAgIHIgPSBybXFbciAtICgxIDw8IGspICsgMV1ba107CiAgICByZXR1cm4gQVtsXSA+IEFbcl0gPyByIDogbDsKfQovLwp2b2lkIHByb2Nlc3MgKHZvaWQpCnsKICAgIGNpbiA+PiBuID4+IHE7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyArK2kpCiAgICAgICAgY2luID4+IEFbaV07CiAgICBidWlsZCgpOwogICAgZm9yIChpbnQgbCwgcjsgcS0tOyBjb3V0IDw8ICdcbicpCiAgICAgICAgY2luID4+IGwgPj4gciwKICAgICAgICBjb3V0IDw8IGdldChsLCByKTsKfQovLwpzaWduZWQgbWFpbiAodm9pZCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSksIGNpbi50aWUobnVsbHB0ciksIGNvdXQudGllKG51bGxwdHIpOwogICAgcHJvY2VzcygpOwp9