#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
#define E '\n'
#define fi "QUANCO.inp"
#define fo "QUANCO.out"
ll dx[5] = {-2,-2,-1,1};
ll dy[5] = {1,-1,-2,-2};
const int N=1e3;
int n , m, fx , fy;
ll dp[N+13][N+13];
bool isValid(ll x,ll y){
return min(x,y) >= 1 && x <= n && y<=m;
}
ll cal(ll tx,ll ty){
while (isValid(tx,ty)){
dp[tx][ty]=0;
for (int k=0 ; k < 4 ;++k ){
ll x = tx+dx[k],y=ty+dy[k];
if (isValid(x,y)) dp[tx][ty]+=dp[x][y];
}
++tx,--ty;
}
}
int main()
{
ios::sync_with_stdio(0); cin . tie(0); cout . tie(0);
freopen(fi,"r",stdin); freopen(fo,"w",stdout);
cin >> n >> m >> fx >> fy;
dp[1][1] = 1;
for (int i=2; i <= m ; ++i) cal(1,i);
for ( int i=2; i <= n ; ++i) cal(i,m);
for (int i=1 ; i<= n ; ++i){
for (int j=1 ; j <= m ; ++j)
cout << dp[i][j] <<" ";
cout << E;
}
cout << dp[fx][fy];
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnR5cGVkZWYgbG9uZyBsb25nIGxsOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIEUgJ1xuJwojZGVmaW5lIGZpICJRVUFOQ08uaW5wIgojZGVmaW5lIGZvICJRVUFOQ08ub3V0IgpsbCBkeFs1XSA9IHstMiwtMiwtMSwxfTsKbGwgZHlbNV0gPSB7MSwtMSwtMiwtMn07CmNvbnN0IGludCBOPTFlMzsKaW50IG4gLCBtLCBmeCAsIGZ5OwpsbCBkcFtOKzEzXVtOKzEzXTsKYm9vbCBpc1ZhbGlkKGxsIHgsbGwgeSl7CiAgICByZXR1cm4gbWluKHgseSkgPj0gMSAmJiB4IDw9IG4gICYmIHk8PW07Cn0KbGwgIGNhbChsbCB0eCxsbCB0eSl7CiAgICB3aGlsZSAoaXNWYWxpZCh0eCx0eSkpewogICAgICAgIGRwW3R4XVt0eV09MDsKICAgICAgICBmb3IgKGludCBrPTAgOyBrIDwgNCA7KytrICl7CiAgICAgICAgICAgIGxsIHggPSB0eCtkeFtrXSx5PXR5K2R5W2tdOwogICAgICAgICAgICBpZiAoaXNWYWxpZCh4LHkpKSBkcFt0eF1bdHldKz1kcFt4XVt5XTsKICAgICAgICB9CiAgICAgICAgKyt0eCwtLXR5OwogICAgfQp9CmludCBtYWluKCkKewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbiAuIHRpZSgwKTsgY291dCAuIHRpZSgwKTsKICAgIGZyZW9wZW4oZmksInIiLHN0ZGluKTsgZnJlb3BlbihmbywidyIsc3Rkb3V0KTsKCiAgICBjaW4gPj4gbiA+PiBtICA+PiBmeCA+PiBmeTsKICAgIGRwWzFdWzFdID0gMTsKICAgIGZvciAoaW50IGk9MjsgaSA8PSBtIDsgKytpKSBjYWwoMSxpKTsKICAgIGZvciAoIGludCBpPTI7IGkgPD0gbiA7ICsraSkgY2FsKGksbSk7CiAgICBmb3IgKGludCBpPTEgOyBpPD0gbiA7ICsraSl7CiAgICAgICAgZm9yIChpbnQgaj0xIDsgaiA8PSBtIDsgKytqKQogICAgICAgICAgICBjb3V0IDw8IGRwW2ldW2pdIDw8IiAiOwogICAgICAgIGNvdXQgPDwgRTsKICAgIH0KCiAgICBjb3V0IDw8IGRwW2Z4XVtmeV07CgoKfQo=