//P1443
//std-1.1.4
#include<bits/stdc++.h>
#define sc scanf
#define pr printf
#define ull unsigned long long int
#define debug(x) pr("[Debug]This number now is %d\n",x);
using namespace std;
queue<int>a;
queue<int>b;
int n,m,sa,sb,p[401][401],vis[401][401],step=0;
int dx[9]={0,-1,-2,-2,-1,1,2,2,1};
int dy[9]={0,-2,-1,1,2,2,1,-1,-2};
void bfs(int x,int y);
int main()
{
memset(p,-1,sizeof(p));
memset(vis,true,sizeof(vis));
sc("%d%d",&n,&m,&sa,&sb);
bfs(sa,sb);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
pr("%-5d ",p[i][j]);
pr("\n");
}
return 0;
}
void bfs(int x,int y)
{
a.push(x);b.push(y);
p[x][y]=step;
do
{
step++;
for(int i=1;i<=8;i++)
{
int nx=a.front()+dx[i];
int ny=b.front()+dy[i];
if(vis[nx][ny]==true&&nx>=1&&ny>=1&&nx<=n&&ny<=m)
{
a.push(nx);
b.push(ny);
vis[nx][ny]=false;
p[nx][ny]=step;
}
}
a.pop();
b.pop();
}while(a.empty()==0);
}