#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e3+10;
//no bug but runtime
int main()
{
freopen("test.inp", "r", stdin);
freopen("test.out", "w", stdout);
int n, q;
cin>>n>>q;
vector<int> d(n+4);
for(int i = 0; i<n; i++)
{
cin>>d[i];
}
//vector<int> d(n+4);
pair<int, int> x[maxn];
vector<int> pos(n+1);
for(int i = 0; i<n; i++)
{
cin>>d[i];
}
for(int i = 0; i<n; i++)
{
x[i] = make_pair(d[i] , i);
}
sort(d.begin(), d.end());
for(int i = 0; i<n; i++) cout<<x[i].first<<" "<<endl;
for(int i = 0; i<n; i++)
{
int vt = x[i].second;
pos[vt] = i;
}
//for(int c: pos) cout<<c<< " =) "<<endl;
// pair<int, int>
while(q--)
{
///30%, 40%(bf)
int u, v;
cin>>u>>v;
u = pos[u];
v = pos[v];
//y--;
//int a = d[x];
//int b = d[y];
//find a, b
long long l =min(x[d[u]].first, x[d[v]].first);
long long r = max(x[d[u]].first, x[d[v]].first);
long long mid = (l+ r)/2;
int p = lower_bound(d.begin(),d.end(), mid) - d.begin();
///ktra thanh pho dau tien co so lon hon hoac bang mid
long long ans = 1e6;
//cout<<pos<<" =="<<endl;
if(p < n)
{
long long dz = d[p];
ans = min(ans, max(abs(d[u] - dz), abs(d[v] - dz)));
}
if(p - 1 >=0)
{
long long dz = d[p - 1];
ans = min(ans, max(abs(d[u] - dz), abs(d[v] - dz)));
}
cout<<ans<<endl;
}
return 0;
}
ICAgICNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgogICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiAgICBjb25zdCBpbnQgbWF4biA9IDFlMysxMDsKICAgIC8vbm8gYnVnIGJ1dCBydW50aW1lCiAgICBpbnQgbWFpbigpCiAgICB7CiAgICAgICAgZnJlb3BlbigidGVzdC5pbnAiLCAiciIsIHN0ZGluKTsKICAgICAgICBmcmVvcGVuKCJ0ZXN0Lm91dCIsICJ3Iiwgc3Rkb3V0KTsKICAgICAgICBpbnQgbiwgcTsKICAgICAgICBjaW4+Pm4+PnE7CiAgICAgICAgdmVjdG9yPGludD4gZChuKzQpOwogICAgICAgIGZvcihpbnQgaSA9IDA7IGk8bjsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgY2luPj5kW2ldOwogICAgICAgIH0KICAgICAgICAvL3ZlY3RvcjxpbnQ+IGQobis0KTsKICAgICAgICBwYWlyPGludCwgaW50PiB4W21heG5dOwogICAgICAgIHZlY3RvcjxpbnQ+IHBvcyhuKzEpOwoKICAgICAgICBmb3IoaW50IGkgPSAwOyBpPG47IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGNpbj4+ZFtpXTsKICAgICAgICB9CiAgICAgICAgZm9yKGludCBpID0gMDsgaTxuOyBpKyspCiAgICAgICAgewogICAgICAgICAgICB4W2ldID0gbWFrZV9wYWlyKGRbaV0gLCBpKTsKICAgICAgICB9CgogICAgICAgIHNvcnQoZC5iZWdpbigpLCBkLmVuZCgpKTsKICAgICAgICBmb3IoaW50IGkgPSAwOyBpPG47IGkrKykgY291dDw8eFtpXS5maXJzdDw8IiAiPDxlbmRsOwogICAgICAgIGZvcihpbnQgaSA9IDA7IGk8bjsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgaW50IHZ0ID0geFtpXS5zZWNvbmQ7CiAgICAgICAgICAgIHBvc1t2dF0gPSBpOwogICAgICAgIH0KICAgICAgICAvL2ZvcihpbnQgYzogcG9zKSBjb3V0PDxjPDwgIiA9KSAiPDxlbmRsOwogICAgICAgLy8gcGFpcjxpbnQsIGludD4KICAgICAgICB3aGlsZShxLS0pCiAgICAgICAgewogICAgICAgICAgICAvLy8zMCUsIDQwJShiZikKICAgICAgICAgICAgaW50IHUsIHY7CiAgICAgICAgICAgIGNpbj4+dT4+djsKICAgICAgICAgICAgIHUgPSBwb3NbdV07CiAgICAgICAgICAgICB2ID0gcG9zW3ZdOwogICAgICAgICAgICAvL3ktLTsKCiAgICAgICAgICAgIC8vaW50IGEgPSBkW3hdOwogICAgICAgICAgICAvL2ludCBiID0gZFt5XTsKICAgICAgICAgICAgLy9maW5kIGEsIGIKCiAgICAgICAgICAgIGxvbmcgbG9uZyBsID1taW4oeFtkW3VdXS5maXJzdCwgeFtkW3ZdXS5maXJzdCk7CiAgICAgICAgICAgIGxvbmcgbG9uZyByICA9IG1heCh4W2RbdV1dLmZpcnN0LCB4W2Rbdl1dLmZpcnN0KTsKICAgICAgICAgICAgbG9uZyBsb25nIG1pZCA9IChsKyByKS8yOwogICAgICAgICAgICBpbnQgcCA9IGxvd2VyX2JvdW5kKGQuYmVnaW4oKSxkLmVuZCgpLCBtaWQpIC0gZC5iZWdpbigpOwogICAgICAgICAgICAvLy9rdHJhIHRoYW5oIHBobyBkYXUgdGllbiBjbyBzbyBsb24gaG9uIGhvYWMgYmFuZyBtaWQKICAgICAgICAgICAgbG9uZyBsb25nIGFucyA9IDFlNjsKICAgICAgICAgICAgLy9jb3V0PDxwb3M8PCIgPT0iPDxlbmRsOwogICAgICAgICAgICBpZihwIDwgbikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbG9uZyBsb25nIGR6ID0gZFtwXTsKICAgICAgICAgICAgICAgIGFucyA9IG1pbihhbnMsIG1heChhYnMoZFt1XSAtIGR6KSwgYWJzKGRbdl0gLSBkeikpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZihwIC0gMSA+PTApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGxvbmcgbG9uZyBkeiAgPSBkW3AgLSAxXTsKICAgICAgICAgICAgICAgIGFucyA9IG1pbihhbnMsIG1heChhYnMoZFt1XSAtIGR6KSwgYWJzKGRbdl0gLSBkeikpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjb3V0PDxhbnM8PGVuZGw7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gMDsKICAgIH0K