#include<bits/stdc++.h>
using namespace std;
queue<int> x;
queue<int> y;
int vis[510][510];
int n,m,a,b,xx,yy;
int fx[6]={0,0,1,0,-1},fy[6]={0,1,0,-1,0};
void bfs(){
while(!x.empty()){
for(int i=1;i<=4;i++){
int tx=x.front()+fx[i];
int ty=y.front()+fy[i];
if(tx>1&&tx<510&&ty>1&&ty<510&&!vis[tx][ty]){
x.push(tx),y.push(ty);
vis[tx][ty]=vis[x.front()][y.front()]+1;
}
}
x.pop(),y.pop();
}
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n>>m>>a>>b;
for(int i=1;i<=a;i++){
x=queue<int>();
y=queue<int>();
cin>>xx>>yy;
x.push(xx);
y.push(yy);
bfs();
}
for(int i=1;i<=b;i++){
cin>>xx>>yy;
cout<<vis[xx][yy]<<endl;
}
return 0;
}