fun main(args: Array<String>) {
    val (h, w, k) = readInputLine().split(" ").map{it.toInt()}
    
    val mod = 1000000007 
    
    if (w == 1 && k == 1) {
        println(1)
        return
    }
    
    // dp[高さ][縦棒番号]
    val dp = Array(h + 1,{IntArray(w)})
    
    dp[0][0] = 1
    
    for (i in 0 until h) {
        for (j in 0 until w) {
            for (bit in 0 until (1 shl (w - 1))) {
                var ok = true
                
                for (l in 0..w - 2) {
                    if (bit and (1 shl l) != 0 && bit and (1 shl l + 1) != 0) {
                        ok = false
                        break
                    }
                }
                
                if (!ok) {
                    continue
                }
                
                if (bit and (1 shl j) != 0) {
                    dp[i + 1][j + 1] += dp[i][j]
                    dp[i + 1][j + 1] %= mod
                } else if (j > 0 && bit and (1 shl (j - 1)) != 0) {
                    dp[i + 1][j - 1] += dp[i][j]
                    dp[i + 1][j - 1] %= mod
                } else {
                    dp[i + 1][j] += dp[i][j]
                    dp[i + 1][j] %= mod
                }
            }
        }
    }
    
    println(dp[h][k - 1])
}

fun readInputLine(): String {
    return readLine()!!
}
