#include<bits/stdc++.h>
using namespace std;
const int N=405;
queue <pair<int,int> > Q;
int dis[N][N];
const int dx[]= {1,1,-1,-1,2,-2,2,-2};
const int dy[]= {2,-2,2,-2,1,1,-1,-1};
int main() {
int n,m,x,y;
scanf("%d%d%d%d",&n,&m,&x,&y);
memset(dis,-1,sizeof(dis));
dis[x][y]=0;
Q.push(make_pair(x,y));
while(!Q.empty()) {
pair <int,int> t=Q.front();
Q.pop();
x=t.first;
y=t.second;
for(int i=0; i<8; i++) {
int xx=x+dx[i],yy=y+dy[i];
if(xx>=1&&yy>=1&&xx<=n&&yy<=m&&dis[xx][yy]==-1) {
dis[xx][yy]=dis[x][y]+1;
Q.push(make_pair(xx,yy));
}
}
}
for(int i=1; i<=n; i++,puts(""))
for(int j=1; j<=n; j++)
printf("%-5d",dis[i][j]);
return 0;
}