public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n= sc.nextInt();
int m= sc.nextInt();
int x= sc.nextInt();
int y= sc.nextInt();
int[][] dp=new int[n+1][m+1];
int[][] M={{x-1,y-2},{x-1,y+2},{x+1,y-2},{x+1,y+2},{x-2,y-1},{x-2,y+1},{x+2,y-1},{x+2,y+1},{x,y}};
for(int i=0;i<=n;i++){
boolean isM=false;
for(int j=0;j<9;j++){
if(M[j][0]==0&&M[j][1]==i){
isM=true;
break;
}else{
dp[0][i]=1;
}
}
if(isM) break;
}
for(int i=0;i<=m;i++){
boolean isM=false;
for(int j=0;j<9;j++){
if(M[j][0]==i&&M[j][1]==0){
isM=true;
break;
}else{
dp[i][0]=1;
}
}
if(isM) break;
}
for(int i=1;i<=n;i++){
for(int k=1;k<=m;k++){
boolean isM=false;
for(int j=0;j<9;j++){
if(M[j][0]==i&&M[j][1]==k){
isM=true;
break;
}
}
if(!isM){
dp[i][k]=dp[i-1][k]+dp[i][k-1];
}
}
}
for(int i=0;i<=n;i++){
for(int j=0;j<=m;j++){
System.out.print(dp[i][j]+" ");
}
System.out.println();
}
System.out.println(dp[n][m]);
}