H, W, A, B = list(map(int, open(0).read().split()))

MOD = 10**9+7



def modcomb(m, n, mod):

    if n > m - n:

        n = m - n

    p = 1

    q = 1

    for i in range(n):

        p = p * (m - i) % mod

        q = q * (i + 1) % mod

    result = p * pow(q, mod - 2, mod) % mod

    return result



total = modcomb(H + W - 2, W - 1, MOD)



tmp = modcomb(A + W - 2, W - 1, MOD)

total -= tmp



for i in range(B - 1):

    a = H - A + i

    b = i + 1

    c = W - i - 1

    d = W + A - 2 - i

#     print(a,b,c,d)

    tmp = tmp * a * c % MOD

    tmp = tmp * pow(b, -1, MOD) % MOD

    tmp = tmp * pow(d, -1, MOD) % MOD

#     print(tmp)

    total = (total - tmp) % MOD



print(total)
H, W, A, B = list(map(int, open(0).read().split()))

MOD = 10**9+7



def modperm(m, n, mod):

    p = 1

    for i in range(n):

        p = p * (m - i) % mod

    return p



def modcomb(m, n, mod):

    if n > m - n:

        n = m - n

    p = modperm(m, n, mod)

    q = pow(modperm(n, n, mod), mod - 2, mod)

    return p * q % mod



total = modcomb(H + W - 2, W - 1, MOD)



tmp = modcomb(A + W - 2, W - 1, MOD)

total -= tmp



for i in range(B - 1):

    a = H - A + i

    b = i + 1

    c = W - i - 1

    d = W + A - 2 - i

#     print(a,b,c,d)

    tmp = tmp * a * c % MOD

    tmp = tmp * pow(b, MOD - 2, MOD) % MOD

    tmp = tmp * pow(d, MOD - 2, MOD) % MOD

#     print(tmp)

    total = (total - tmp) % MOD



print(total)
H, W, A, B = list(map(int, open(0).read().split()))
MOD = 10**9 + 7


def modcomb(m, n, mod):
    if n > m - n:
        n = m - n
    p = 1
    q = 1
    for i in range(n):
        p = p * (m - i) % mod
        q = q * (i + 1) % mod
    result = p * pow(q, mod - 2, mod) % mod
    return result


total = modcomb(H + W - 2, W - 1, MOD)
tmp = modcomb(A + W - 2, W - 1, MOD)
total -= tmp
for i in range(B - 1):
    a = H - A + i
    b = i + 1
    c = W - i - 1
    d = W + A - 2 - i
    #     print(a,b,c,d)
    tmp = tmp * a * c % MOD
    tmp = tmp * pow(b, -1, MOD) % MOD
    tmp = tmp * pow(d, -1, MOD) % MOD
    #     print(tmp)
    total = (total - tmp) % MOD
print(total)

H, W, A, B = list(map(int, open(0).read().split()))
MOD = 10**9 + 7


def modperm(m, n, mod):
    p = 1
    for i in range(n):
        p = p * (m - i) % mod
    return p


def modcomb(m, n, mod):
    if n > m - n:
        n = m - n
    p = modperm(m, n, mod)
    q = pow(modperm(n, n, mod), mod - 2, mod)
    return p * q % mod


total = modcomb(H + W - 2, W - 1, MOD)
tmp = modcomb(A + W - 2, W - 1, MOD)
total -= tmp
for i in range(B - 1):
    a = H - A + i
    b = i + 1
    c = W - i - 1
    d = W + A - 2 - i
    #     print(a,b,c,d)
    tmp = tmp * a * c % MOD
    tmp = tmp * pow(b, MOD - 2, MOD) % MOD
    tmp = tmp * pow(d, MOD - 2, MOD) % MOD
    #     print(tmp)
    total = (total - tmp) % MOD
print(total)

+ + +def modperm(m, n, mod): +    p = 1 +    for i in range(n): +        p = p * (m - i) % mod +    return p -    p = 1 -    q = 1 -    for i in range(n): -        p = p * (m - i) % mod -        q = q * (i + 1) % mod -    result = p * pow(q, mod - 2, mod) % mod -    return result +    p = modperm(m, n, mod) +    q = pow(modperm(n, n, mod), mod - 2, mod) +    return p * q % mod -    tmp = tmp * pow(b, -1, MOD) % MOD -    tmp = tmp * pow(d, -1, MOD) % MOD +    tmp = tmp * pow(b, MOD - 2, MOD) % MOD +    tmp = tmp * pow(d, MOD - 2, MOD) % MOD