#include <bits/stdc++.h>
using namespace std;
#define int long long int
int dist(int a,int b,int n)
{
return min(abs(a-b),abs(2*n-abs(a-b)));
}
int32_t main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n,m,q;
cin>>n>>m>>q;
// vector<int> f(2*n,-1);
// vector<int> ks(m);
int fri=0;
int mn=1e18,mx=0;
for(int i=0;i<m;i++) {
int k;cin>>k;
mn=min(k,mn);
mx=max(k,mx);
//ks[i]=k;//friend having ppl
//fri=k+n;
// f[k]=k+n;
//f[k+n]=k;
}
while(q--){
int x,y;
cin>>x>>y;
int ans=dist(x,y,n);//direct
//send to friends
//using one friend takes us halfway
//so using 2 friends takes us back to where we came from
//whats the closest friend to 0 (back and front) (min and max)
//for (int k:ks) {
int a=mn,b=mn+n;
ans=min(ans,dist(x,a,n)+1+dist(b,y,n));
ans=min(ans,dist(x,b,n)+1+dist(a,y,n));
a=mx,b=mx+n;
ans=min(ans,dist(x,a,n)+1+dist(b,y,n));
ans=min(ans,dist(x,b,n)+1+dist(a,y,n));
//}
cout<<ans<<endl;
}
}