#include <bits/stdc++.h>
using namespace std;
#define file "a"
// #define int long long
#define ll long long
#define fi first
#define se second
#define pii pair<int, int>
#define pb push_back
#define pf push_front
#define sz(a) (int)a.size()
#define mask(i) (1 << (int)(i))
const int N = 2e5, mod = 1e9 + 7, inf = 1e9, K = __lg(N);
void add(int &a, int b) { a += b; if (a >= mod) a -= mod; }
void MIN(int &a, int b) { a = min(a, b); }
int n, q;
int mx[N + 2][K + 2], lg[N + 2], mn[N + 2][K + 2], g[N + 2][K + 2];
int getmax(int l, int r)
{
int k = lg[r - l + 1];
return max(mx[l][k], mx[r - mask(k) + 1][k]);
}
int getmin(int l, int r)
{
int k = lg[r - l + 1];
return min(mn[l][k], mn[r - mask(k) + 1][k]);
}
int getgcd(int l, int r)
{
int k = lg[r - l + 1];
return __gcd(g[l][k], g[r - mask(k) + 1][k]);
}
signed main()
{
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
if (fopen(file".inp", "r"))
{
freopen(file".inp", "r", stdin);
freopen(file".out", "w", stdout);
}
cin >> n >> q;
for (int i = 1; i <= n; i++)
cin >> mx[i][0], mn[i][0] = g[i][0] = mx[i][0];
lg[1] = 0;
for (int i = 2; i <= n; i++) lg[i] = lg[i / 2] + 1;
for (int j = 1; j <= lg[n]; j++)
for (int i = 1; i + mask(j) - 1 <= n; i++)
{
mx[i][j] = max(mx[i][j - 1], mx[i + mask(j - 1)][j - 1]);
mn[i][j] = min(mn[i][j - 1], mn[i + mask(j - 1)][j - 1]);
g[i][j] = __gcd(g[i][j - 1], g[i + mask(j - 1)][j - 1]);
}
while (q--)
{
int l, r;
cin >> l >> r;
cout << getmax(l, r) << " " << getmin(l, r) << "\n";
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgZmlsZSAiYSIKLy8gI2RlZmluZSBpbnQgbG9uZyBsb25nICAgCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBwaWkgcGFpcjxpbnQsIGludD4KI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBwZiBwdXNoX2Zyb250CiNkZWZpbmUgc3ooYSkgKGludClhLnNpemUoKQojZGVmaW5lIG1hc2soaSkgKDEgPDwgKGludCkoaSkpCmNvbnN0IGludCBOID0gMmU1LCBtb2QgPSAxZTkgKyA3LCBpbmYgPSAxZTksIEsgPSBfX2xnKE4pOwp2b2lkIGFkZChpbnQgJmEsIGludCBiKSB7IGEgKz0gYjsgaWYgKGEgPj0gbW9kKSBhIC09IG1vZDsgfQp2b2lkIE1JTihpbnQgJmEsIGludCBiKSB7IGEgPSBtaW4oYSwgYik7IH0KaW50IG4sIHE7CmludCBteFtOICsgMl1bSyArIDJdLCBsZ1tOICsgMl0sIG1uW04gKyAyXVtLICsgMl0sIGdbTiArIDJdW0sgKyAyXTsKaW50IGdldG1heChpbnQgbCwgaW50IHIpCnsKICBpbnQgayA9IGxnW3IgLSBsICsgMV07CiAgcmV0dXJuIG1heChteFtsXVtrXSwgbXhbciAtIG1hc2soaykgKyAxXVtrXSk7Cn0KaW50IGdldG1pbihpbnQgbCwgaW50IHIpCnsKICBpbnQgayA9IGxnW3IgLSBsICsgMV07CiAgcmV0dXJuIG1pbihtbltsXVtrXSwgbW5bciAtIG1hc2soaykgKyAxXVtrXSk7Cn0KaW50IGdldGdjZChpbnQgbCwgaW50IHIpCnsKICBpbnQgayA9IGxnW3IgLSBsICsgMV07CiAgcmV0dXJuIF9fZ2NkKGdbbF1ba10sIGdbciAtIG1hc2soaykgKyAxXVtrXSk7Cn0Kc2lnbmVkIG1haW4oKSAKewogIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgaWYgKGZvcGVuKGZpbGUiLmlucCIsICJyIikpIAogIHsKICAgIGZyZW9wZW4oZmlsZSIuaW5wIiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKGZpbGUiLm91dCIsICJ3Iiwgc3Rkb3V0KTsKICB9CiAgY2luID4+IG4gPj4gcTsKICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIAogICAgY2luID4+IG14W2ldWzBdLCBtbltpXVswXSA9IGdbaV1bMF0gPSBteFtpXVswXTsKICBsZ1sxXSA9IDA7CiAgZm9yIChpbnQgaSA9IDI7IGkgPD0gbjsgaSsrKSBsZ1tpXSA9IGxnW2kgLyAyXSArIDE7CiAgZm9yIChpbnQgaiA9IDE7IGogPD0gbGdbbl07IGorKykgCiAgZm9yIChpbnQgaSA9IDE7IGkgKyBtYXNrKGopIC0gMSA8PSBuOyBpKyspCiAgewogICAgbXhbaV1bal0gPSBtYXgobXhbaV1baiAtIDFdLCBteFtpICsgbWFzayhqIC0gMSldW2ogLSAxXSk7CiAgICBtbltpXVtqXSA9IG1pbihtbltpXVtqIC0gMV0sIG1uW2kgKyBtYXNrKGogLSAxKV1baiAtIDFdKTsKICAgIGdbaV1bal0gPSBfX2djZChnW2ldW2ogLSAxXSwgZ1tpICsgbWFzayhqIC0gMSldW2ogLSAxXSk7CiAgfQogIHdoaWxlIChxLS0pCiAgewogICAgaW50IGwsIHI7CiAgICBjaW4gPj4gbCA+PiByOwogICAgY291dCA8PCBnZXRtYXgobCwgcikgPDwgIiAiIDw8IGdldG1pbihsLCByKSA8PCAiXG4iOwogIH0KfSA=