#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
#define MAXN 200000
const int MOD = 1000000007;
int n, m, a, b, fac[MAXN+50]={1}, inv[MAXN+50]={1, 1};
inline int C(int n, int m)
{
    return fac[n] * inv[m] % MOD * inv[n-m] % MOD;
}
int main()
{
    scanf("%d%d%d%d", &n, &m, &a, &b);
    for(int i=1; i<=n+m+5; i++) 
		fac[i] = (LL)fac[i-1] * i % MOD;
    for(int i=2; i<=n+m+5; i++)
		inv[i] = (LL)(MOD-MOD/i) * inv[MOD%i] % MOD;
	for(int i=2; i<=n+m+5; i++)
		inv[i] = (LL)inv[i-1] * inv[i] % MOD;
    int ans=0;
    for(int i=1; i<=n-a; i++)
		ans += (LL)C(i+b-2,b-1) * C(n-i+m-b-1,n-i)%MOD,
		ans %= MOD;
    printf("%d\n", ans);
    return 0;
}