#include<bits/stdc++.h>
using namespace std;
using ll = long long;
ll n,m,q;
ll dist(ll x,ll y){
if(x < y) swap(x,y);
return min(x - y, 2*n - x + y);
}
signed main(){
cin >> n >> m >> q;
vector<ll> v;
for(ll i = 1 ; i <= m; i ++){
ll k;
cin >> k;
v.push_back(k);
v.push_back(n + k);
}
sort(v.begin(),v.end());
while(q--){
ll x,y;
cin >> x >> y;
ll ans = dist(x,y);
vector<ll> k;
auto it = lower_bound(v.begin(),v.end(),x);
if(it != v.end()) k.push_back(*it);
if(it != v.begin()) k.push_back(*(it++));
else k.push_back(*prev(it));
for(auto i : k){
ans = min(dist(x,i) + 1 + dist((i >= n ? i - n : i + n),y),ans);
}
cout << ans << "\n";
}
}