#include<bits/stdc++.h>
#define I int
using namespace std;
I ss[405][405],n,m,a,b;
bool sa[405][405];
void sb(I x,I y,I s){
if(x<1||y<1||x>n||y>m)return ;
else{
if(ss[x][y]>s&&ss[x][y]!=-1)ss[x][y]=s;
else if(ss[x][y]==-1)ss[x][y]=s;
if(sa[x+1][y+2]!=1&&x+1<=n&&y+2<=m){
sa[x][y]=1;
sb(x+1,y+2,s+1);
sa[x][y]=0;
}
if(sa[x-1][y+2]!=1&&x-1>=1&&y+2<=m){
sa[x][y]=1;
sb(x-1,y+2,s+1);
sa[x][y]=0;
}
if(sa[x+1][y-2]!=1&&x+1<=n&&y-2>=1){
sa[x][y]=1;
sb(x+1,y-2,s+1);
sa[x][y]=0;
}
if(sa[x-1][y-2]!=1&&x-1>=1&&y-2>=1){
sa[x][y]=1;
sb(x-1,y-2,s+1);
sa[x][y]=0;
}
if(sa[x+2][y+1]!=1&&x+2<=n&&y+1<=m){
sa[x][y]=1;
sb(x+2,y+1,s+1);
sa[x][y]=0;
}
if(sa[x+2][y-1]!=1&&x+2<=n&&y-1>=1){
sa[x][y]=1;
sb(x+2,y-1,s+1);
sa[x][y]=0;
}
if(sa[x-2][y+1]!=1&&x-2>=1&&y+1<=m){
sa[x][y]=1;
sb(x-2,y+1,s+1);
sa[x][y]=0;
}
if(sa[x-2][y-1]!=1&&x-2>=1&&y-1>=1){
sa[x][y]=1;
sb(x-2,y-1,s+1);
sa[x][y]=0;
}
}
}
int main(){
cin>>n>>m>>a>>b;
memset(ss,-1,sizeof(ss));
sb(a,b,0);
for(I i=1;i<=n;i++){
for(I j=1;j<=m;j++)
printf("%-5d",ss[i][j]);
cout<<'\n';
}
return 0;
}