#include <bits/stdc++.h>
using namespace std;
int a[501][502];
int xd[4]={1,-1,0,0};
int yd[4]={0,0,-1,1};
queue<short int>q;
int n,m,A,b;
int c[100001],d[100001];
bool s(int num,int sum){
if(num>=1&&num<=n&&sum>=1&&sum<=m){
return true;
}
return false;
}
void BFS(){
short int x,y,z;
while(!q.empty()){
x=q.front();
q.pop();
y=q.front();
q.pop();
z=q.front();
q.pop();
for(int i=0;i<4;i++){
if(s(x+xd[i],y+yd[i])&&a[x+xd[i]][y+yd[i]]<=0){
q.push(x+xd[i]);
q.push(y+yd[i]);
q.push(z+1);
if(a[x+xd[i]][y+yd[i]]==-1) b--;
a[x+xd[i]][y+yd[i]]=z+1;
}
}
if(b==0){
return;
}
}
}
int main(){
short int x,y;
cin>>n>>m>>A>>b;
for(int i=1;i<=A;i++){
cin>>x>>y;
a[x][y]=1;
q.push(x);
q.push(y);
q.push(0);
}
for(int i=1;i<=b;i++){
cin>>c[i]>>d[i];
a[c[i]][d[i]]=-1;
}
BFS();
for(int i=1;i<=b;i++){
cout<<a[c[i]][d[i]]<<endl;
}
}