#include<bits/stdc++.h>
using namespace std;
int n,m,x,y;
int o[1001][1001];
int rl[8][2]={{-1,2},{-1,-2},{1,2},{1,-2},{2,-1},{2,1},{-2,1},{-2,-1}};
bool r[1001][1001];
void dfs(int a,int b)
{
r[a][b]=true;
for(int i=0,fx,fy;i<8;i++)
{
fx=a+rl[i][0];
fy=b+rl[i][1];
if(fx<=0 || fy<=0 || fx>n || fy>m) continue;
if(r[fx][fy]==false || o[a][b]+1<o[fx][fy])
{
o[fx][fy]=o[a][b]+1;
dfs(fx,fy);
}
}
}
int main(){
cin>>n>>m>>x>>y;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
o[i][j]=-1;
}
}
o[x][y]=0;
dfs(x,y);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cout<<o[i][j]<<" ";
}
cout<<endl;
}
return 0;
}