#include<bits/stdc++.h>
using namespace std;
int n,m,a,b;
struct j{
int x,y;
int step=0;
}q[160005];
int fx[8]={2,-2,2,-2,-1,1,-1,1};
int fy[8]={1,1,-1,-1,2,2,-2,-2};
int xy[405][405]={-1};
void bfs(int n,int m,int a,int b){
int head=1,tail=1;
q[tail].x=a;
q[tail].y=b;
q[tail].step=0;
xy[a][b]=0;
tail++;
while(head<tail){
int nx=0,ny=0;
for(int i=0;i<=7;i++){
nx=q[head].x+fx[i];
ny=q[head].y+fy[i];
if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&xy[nx][ny]==-1){
q[tail].x=nx;
q[tail].y=ny;
q[tail].step=q[head].step+1;
xy[nx][ny]=q[tail].step;
tail++;
}
}
head++;
}
}
int main(){
cin>>n>>m>>a>>b;
bfs(n,m,a,b);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<xy[i][j]<<" ";
}
cout<<endl;
}
return 0;
}