#include <iostream>
using namespace std;
static long long map[25][25]={0};
static int n,m,x,y;
int main (void)
{
int horse_x[8]={-1,-1,-2,-2,1,1,2,2};
int horse_y[8]={2,-2,1,-1,2,-2,1,-1};
cin>>n>>m>>x>>y;
for (int i=0;i<=n;i++){
for (int y=0;y<=m;y++){
map[i][y]=1;
}
}
map[x][y]=0;
for (int i=0;i<8;i++){
if (x+horse_x[i]>=0&&x+horse_x[i]<=n&&y+horse_y[i]>=0&&y+horse_y[i]<=m){
map[x+horse_x[i]][y+horse_y[i]]=0;
if (x+horse_x[i]==0){
for (int y=y+horse_y[i];y<=n;y++){
map[0][y]=0;
}
}else if (y+horse_y[i]==0){
for (int k=x+horse_x[i];x<=m;x+x){
map[k][0]=0;
}
}
}
}
for (int i=0;i<=n;i++){
for (int y=0;y<=m;y++){
cout<<map[i][y];
}
cout<<"\n";
}
for (int i=1;i<=n;i++){
for (int y=1;y<=m;y++){
if (map[i][y]!=0){
map[i][y]=map[i-1][y]+map[i][y-1];
}
}
}
cout<<map[n][m];
return 0;
}