#include<bits/stdc++.h>
using namespace std;
#define int long long 
int mod=1e9+7;
int h,w,a,b;
int ans=0;
int mat[20][20];
void calc(int mark){
    if(mark==a){
        ans++;
    }
    else{
        for(int i=1;i<=h;i++){
            for(int j=1;j<=w;j++){
                if(i!=h && mat[i][j]==0 && mat[i+1][j]==0){
                    mat[i][j]=1;
                    mat[i+1][j]=1;
                    calc(mark+1);
                     mat[i][j]=0;
                    mat[i+1][j]=0;
                }
                if(j!=w && mat[i][j]==0 && mat[i][j+1]==0){
                     mat[i][j]=1;
                    mat[i][j+1]=1;
                    calc(mark+1);
                     mat[i][j]=0;
                    mat[i][j+1]=0;
                }
            }
        }
    }
}
signed main(){
#ifndef ONLINE_JUDGE
    // for getting input from input.txt
    freopen("input.txt", "r", stdin);
    // for writing output to output.txt
    freopen("output.txt", "w", stdout);
#endif
        ios_base::sync_with_stdio(false);
        cin.tie(0);
        cout.tie(0);        
        int t=1;
 //       cin>>t;
        while(t--){
            cin>>h>>w>>a>>b;
            calc(0);
            for(int i=1;i<=a;i++){
                ans=ans/i;
            }
            cout<<ans<<endl;
         }
        return 0;
}
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0; i < (n); i++)
using namespace std;
typedef long long ll;

int h,w;
bool used[16][16];

int Dfs(int i, int j, int a, int b){
    if(a < 0 || b < 0) return 0;
    if(j == w) j = 0, i++;
    if(i == h) return 1;
    if(used[i][j]) return Dfs(i, j + 1, a, b);
    int res = 0;
    used[i][j] = 1;
    res += Dfs(i, j + 1, a, b - 1);
    if(j + 1 < w && !used[i][j + 1]){
        used[i][j + 1] = 1;
        res += Dfs(i, j + 1, a - 1, b);
        used[i][j + 1] = false;
    }
    if(i + 1 < h && !used[i + 1][j]){
        used[i + 1][j] = 1;
        res += Dfs(i, j + 1, a - 1, b);
        used[i + 1][j] = false;
    }
    used[i][j] = false;
    return res;
}

int main(){
    cin.tie(0);
    ios::sync_with_stdio(0);

   int a,b; cin >> h >> w >> a >> b;
   cout << Dfs(0,0,a,b) << endl;
}