#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);
} else {
k.push_back(v.front());
}
if(it != v.begin()) {
k.push_back(*prev(it));
} else {
k.push_back(v.back());
}
for(auto i : k){
ans = min(ans, dist(x, i) + 1 + dist((i >= n ? i - n : i + n), y));
}
cout << ans << "\n";
}
}