#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
void bfs();
int n, m, x[160010], y[160010], b[410][410];
int c[10] = { 0,2,1,2,-2,-1,-1,1,-2 }, d[10] = { 0,1,2,-1,-1,-2,2,-2,1 };
int main(void)
{
memset(b, -1, sizeof(b));
cin >> n >> m >> x[1] >> y[1];
b[x[1]][y[1]] = 0;
bfs();
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
printf("%-5d",b[i][j]);
cout << endl;
}
return 0;
}
void bfs()
{
int head = 0, tail = 2, x1, y1;
while (head < tail)
{
++head;
for (int i = 1; i <= 8; i++)
{
x1 = x[head] + c[i];
y1 = y[head] + d[i];
if (b[x1][y1] == -1 && x1 > 0 && x1 <= n && y1 > 0 && y1 <= m)
{
//这里tail++;并在前面设tail为1就100分
b[x1][y1] = b[x[head]][y[head]] + 1;
x[tail] = x1;
y[tail] = y1;
++tail;//这里前面设tail=2,最后++就90分
}
}
}
}