#include<bits/stdc++.h>

using namespace std;

#define int long long
const int mod = 1e9 + 7;
int gt[100005], cgt[100005];
int pw(int a, int m){
	if(m == 0) return 1;
	int p = pw(a, m / 2);
	if(m % 2 == 0) return p * p % mod;
	else return p * p % mod * a % mod;
}
int nck(int n, int k){
	if(n < k) return 0;
	return gt[n] * cgt[k] % mod * cgt[n- k] % mod;
}
signed main(){
	int h, w, a, b;
	cin >> h >> w >> a >> b;
	gt[0] = 1;
	cgt[0] = 1;
	for(int i = 1; i <= 100000; i++){
		gt[i] = gt[i - 1] * i % mod;
		cgt[i] = cgt[i - 1] * pw(i, mod - 2) % mod;
	}
	int ans = nck(h + w - 2, h - 1);
	for(int i = 0; i < a; i++){
		int t = nck(h - 1 - i, b - 1) * nck(w - b + i - 1, w - b - 1) % mod;
		ans = (ans - t + mod) % mod;
	}
	cout << ans;
}