#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,m,a,b;int zx,zy;
int g[505][505],ans[505][505];
bool c[505][505];
int cx[N],cy[N],dx[4]={-1,0,0,1},dy[4]={0,1,-1,0};
void bfs(int x,int y)
{
queue<pair<int,int> >q;
c[x][y]=1;
ans[x][y]=0;
q.push({x,y});
while(!q.empty())
{
pair<int,int>p=q.front();
q.pop();
for(int i=0;i<4;i++)
{
int xx=p.first+dx[i],yy=p.second+dy[i];
if(xx<1||xx>n||yy<1||yy>m)
continue;
if(c[xx][yy]==0)
{
if(ans[xx][yy]==0)
ans[xx][yy]=ans[p.first][p.second]+1;
else
ans[xx][yy]=min(ans[p.first][p.second]+1,ans[xx][yy]);
c[xx][yy]=1;
q.push({xx,yy});
}
}
}
}
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++)
{
cin>>cx[i]>>cy[i];
}
for(int i=1;i<=a;i++)
{
memset(c,0,sizeof(c));
bfs(cx[i],cy[i]);
}
for(int i=1;i<=b;i++)
{
int zx,zy;
cin>>zx>>zy;
cout<<ans[zx][zy]<<endl;
}
return 0;
}