#include <bits/stdc++.h>
#define int long long
#define MAXN 0x3f3f3f3f3f3f3f3f
#define MINN -0x3f3f3f3f3f3f3f3f
using namespace std;
const int N=409;
int n,m,x,y,a[N][N],vis[N][N];
int l[9]={0,-2,-1,1,2,-2,-1,1,2};
int r[9]={0,1,2,2,1,-1,-2,-2,-1};
void dfs(int x,int y,int num);
signed main(){
scanf("%lld%lld%lld%lld",&n,&m,&x,&y);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
a[i][j]=-1;
}
}
dfs(x,y,0);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
printf("%lld ",a[i][j]);
}
printf("\n");
}
return 0;
}
void dfs(int x,int y,int num){
a[x][y]=num;
vis[x][y]=1;
for(int i=1;i<=8;i++){
for(int j=1;j<=8;j++){
if(vis[x+l[i]][y+r[j]]==0){
dfs(x+l[i],y+r[j],num+1);
}
}
}
}