#include <iostream>
#include <set>
using namespace std;
const int MOD = 1000000000 + 7;
long long F[200005] = {1};
long long pwr(long long a, long long b) {
long long ret = 1;
while(b) {
if (b & 1) {
ret = ret * a % MOD;
}
a = a * a % MOD;
b >>= 1;
}
return ret;
}
long long ways(int r, int c, int R, int C) {
R -= r;
C -= c;
if (R < 0 or C < 0) {
return 0;
}
long long num = F[R + C];
long long den = F[R] * F[C] % MOD;
den = pwr(den, MOD - 2);
return num * den % MOD;
}
int main() {
for (int i = 1; i < 200005; ++i) {
F[i] = F[i - 1] * i % MOD;
}
int h, w, a, b;
cin >> h >> w >> a >> b;
a = h - a + 1;
long long total = ways(1, 1, h, w);
for (int c = 1; c < b; ++c) {
total -= ways(1, 1, a, c) * ways(a + 1, c, h, w) % MOD;
}
total -= ways(1, 1, a, b) * ways(a, b, h, w) % MOD;
total = (total % MOD + MOD) % MOD;
cout << total;
}