#include <iostream>
#include <cstring>
#include <queue>
using namespace std;
typedef pair<int, int>PII;
const int N = 310;
int ans[N][N];
int n, m, x, y;
const int dx[8] = { -1,-2,-2,-1,1,2,2,1 };
const int dy[8] = { 2,1,-1,-2,2,1,-1,-2 };
queue<PII>q;
void Bfs() {
while (!q.empty()) {
auto u = q.front();
int ux = u.first, uy = u.second;
q.pop();
for (int i = 0; i < 8; i++) {
int x = ux + dx[i], y = ux + dy[i];
int d = ans[ux][uy];
if (x < 1 || x > n || y < 1 || y > m || ans[x][y] != -1) {
continue;
}
ans[x][y] = d + 1;
q.push({ x, y });
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
printf("%-5d", ans[i][j]);
}
puts("");
}
}
int main(void) {
scanf("%d %d %d %d", &n, &m, &x, &y);
memset(ans, -1, sizeof(ans));
ans[x][y] = 0;
q.push({x,y});
Bfs();
return 0;
}