M=10**9+7;F=[pow(X,M-2,M)for X in range(2*10**5)];H,W,A,B=list(map(int,input().split()));Z=C=1

for I in range(H-1):Z=C=C*(W+H-B-2-I)*F[I+1]%M

for I in range(1,H-A):C=C*(B-1+I)*F[I]*(H-I)*F[W+H-B-1-I]%M;Z=(Z+C)%M

print(Z)
M=10**9+7;F=lambda X:pow(X,M-2,M);H,W,A,B=list(map(int,input().split()));Z=C=1

for I in range(H-1):Z=C=C*(W+H-B-2-I)*F(I+1)%M

for I in range(1,H-A):C=C*(B-1+I)*(H-I)*F(I*(W+H-B-1-I))%M;Z=(Z+C)%M

print(Z)
M = 10**9 + 7
F = [pow(X, M - 2, M) for X in range(2 * 10**5)]
H, W, A, B = list(map(int, input().split()))
Z = C = 1
for I in range(H - 1):
    Z = C = C * (W + H - B - 2 - I) * F[I + 1] % M
for I in range(1, H - A):
    C = C * (B - 1 + I) * F[I] * (H - I) * F[W + H - B - 1 - I] % M
    Z = (Z + C) % M
print(Z)

M = 10**9 + 7
F = lambda X: pow(X, M - 2, M)
H, W, A, B = list(map(int, input().split()))
Z = C = 1
for I in range(H - 1):
    Z = C = C * (W + H - B - 2 - I) * F(I + 1) % M
for I in range(1, H - A):
    C = C * (B - 1 + I) * (H - I) * F(I * (W + H - B - 1 - I)) % M
    Z = (Z + C) % M
print(Z)

-F = [pow(X, M - 2, M) for X in range(2 * 10**5)] +F = lambda X: pow(X, M - 2, M) -    Z = C = C * (W + H - B - 2 - I) * F[I + 1] % M +    Z = C = C * (W + H - B - 2 - I) * F(I + 1) % M -    C = C * (B - 1 + I) * F[I] * (H - I) * F[W + H - B - 1 - I] % M +    C = C * (B - 1 + I) * (H - I) * F(I * (W + H - B - 1 - I)) % M