package main
import (
    "fmt"
)

func main() {
    var n, m, k, p int
    var mod int = 1e9 + 7
    fmt.Scan(&n, &m, &k, &p)
    dp := make([]int, n + 1)
    dp[p] = 1
    for i := 1; i < k + 1; i++ {
        leftUp := dp[1]
        for j := 1; j < n + 1; j++ {
            temp := dp[j]
            if j == 1 {
                dp[j] = dp[j + 1] % mod
            } else if j == n {
                dp[j] = leftUp % mod
            } else {
                dp[j] = (dp[j + 1] + leftUp) % mod
            }
            leftUp = temp
        }
    }
    
    fmt.Println(dp[m] % mod)
}