#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, m, a, b, B;
B = 0;
cin >> n >> m >> a >> b;
int mn[n + 2][m + 2];
for (int i_n = 0; i_n <= n + 1; i_n++)
{
for (int i_m = 0; i_m <= m + 1; i_m++)
mn[i_n][i_m] = 99999;
}
int x_a;
int y_a;
int x_b[b];
int x_B[b];
int y_b[b];
int y_B[b];
for (int i = 0; i < a; i++)
{
cin >> x_a >> y_a;
mn[x_a][y_a] = 0;
}
for (int i = 0; i < b; i++)
{
cin >> x_b[i] >> y_b[i];
x_B[i] = x_b[i];
y_B[i] = y_b[i];
}
for (int t = 1; ; t++)
{
if (B == b)
break;
for (int i_n = 1; i_n <= n; i_n++)
{
if (B == b)
break;
for (int i_m = 1; i_m <= m; i_m++)
{
if (mn[i_n][i_m] < t)
continue;
if (t - 1 == mn[i_n - 1][i_m] || t - 1 == mn[i_n][i_m - 1] || t - 1 == mn[i_n + 1][i_m] || t - 1 == mn[i_n][i_m + 1])
{
mn[i_n][i_m] = t;
for (int i = 0; i < b - B; i++)
{
if (i_n == x_B[i] && i_m == y_B[i])
{
swap(x_B[i], x_B[b - B - 1]);
swap(y_B[i], y_B[b - B - 1]);
B++;
}
}
}
}
}
}
for (int i = 0; i < b; i++)
cout << mn[x_b[i]][y_b[i]] << endl;
return 0;
}