#include<bits/stdc++.h>
using namespace std ;
const int N = 5e8+5 ;
const int M = 5e5+5 ;
const int Q = 2e4+5 ;
int n , m , q ;
set<int> st ;
int dis(int x , int y){
return min(2*n-abs(x-y),abs(x-y)) ;
}
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0) ;
cin >> n >> m >> q ;
for(int i=0 ; i<m ; i++){
int x ; cin >> x ;
st.insert(x) ; st.insert(x+n) ;
}
while(q--){
int s , t ; cin >> s >> t ;
int ans = dis(s,t) ;
if(s>t) swap(s,t) ;
auto it = st.lower_bound(s) ;
if(it!=st.end() && *it<=t) ans=min(ans,dis(s,*it)+dis((*it+n)%(2*n),t)+1) ;
it = st.upper_bound(t) ;
if(it!=st.begin()) it-- , ans=min(ans,dis(t,*it)+dis((*it+n)%(2*n),s)+1) ;
cout << ans << '\n' ;
}
return 0 ;
}