#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int MAXN = 100010;
const LL mod = 1e9+7;
typedef long long LL;
LL H,W,A,B;
LL fac[MAXN*2],inv[MAXN*2];LL modPow(LL a, LL b)
{LL ret = 1;while(b){if(b&1) ret = ret*a%mod;a = a*a%mod;b >>= 1;}return ret;
}void init()
{fac[0] = 1;inv[0] = 1;for(LL i = 1; i <= H+W; ++i)fac[i] = fac[i-1]*i%mod;inv[H+W] = modPow(fac[H+W],mod-2);for(LL i = H+W-1; i >= 1; --i)inv[i] = (inv[i+1]*(i+1))%mod;
}LL C(LL n, LL m)
{LL ret = (fac[n]*inv[m]%mod)*inv[n-m]%mod;return ret;
}int main()
{cin >> H >> W >> A >> B;init();LL res = C(H+W-2,H-1);LL minu = 0;for(int i = 1; i <= B; ++i)minu = (minu + C(H-A+i-2, H-A-1)*C(A+W-i+1-2,A-1)%mod)%mod;cout << ((res-minu)%mod+mod)%mod << endl;return 0;
}