//EGOI 2024 Circle Passing
//https://qoj.ac/contest/1765/problem/9186
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vll = vector<ll>;
int main(){
ll n, m, q, a, b; vll A;
cin >> n >> m >> q;
for(int i=0; i<m; i++) cin >> a, A.push_back(a), A.push_back(a+n);
sort(A.begin(),A.end()); n*=2; m*=2;
auto dis=[&](ll x,ll y){
if(x>y) swap(x,y);
return min(y-x,n-y+x);
};
for(int i=0; i<q; i++){
cin >> a >> b; ll res=dis(a,b);
ll l=((upper_bound(A.begin(),A.end(),a)-A.begin())-1+m)%m, r=(l+1)%m;
res=min({res,dis(a,A[l])+dis((A[l]+n/2)%n,b)+1,dis(a,A[r])+dis((A[r]+n/2)%n,b)+1});
cout << res << "\n";
}
}