//
//  main.swift
//  Atcoder
//
//  Created by Louis Joe Shen on 2020/7/17.
//  Copyright © 2020 Louise Joe Shen. All rights reserved.
//

import Foundation

var input = readLine()!.split(separator: " ")

var H = Int(input[0])!
var W = Int(input[1])!
var A = Int(input[2])!
var B = Int(input[3])!

var MOD = 1000000000 + 7

func C(r : Int,k : Int) -> Int{
    if k == 0{
        return 1
    }
    var alpha = 1
    var beta = 1
    var delta = 0
    var gamma : Int64
    
    for i in r - k + 1 ... r {
        alpha %= MOD
        delta = i
        delta %= MOD
        //alpha *= delta
        gamma = Int64(alpha) * Int64(delta)
        //alpha %= MOD
        gamma %= Int64(MOD)
        alpha = Int(gamma)
    }
    
    for i in 1 ... k {
        beta %= MOD
        delta = i
        delta %= MOD
        beta *= delta
        beta %= MOD
    }
    
    return alpha / beta % MOD
}


var n = H - A
var ans = 0
for i in 1 ... n{
    ans += C(r: B + i - 2, k: i - 1) * C(r: W + H - B - i - 1, k: H - i)
    ans %= MOD
}

print(ans)
/*long long C(int m,int n){
 if(n == 0) return 1;
 
 long long delta = 1;
 long long alpha = 1;
 
 for(int i = 1;i <= m;i++){
     delta *= i % MOD;
 }
 
 for(int i = m - n + 1;i <= m;i++){
     alpha *= i % MOD;
 }
 return alpha / delta % MOD;
}*/
