fib (-1) = 0
fib 0 = 1
fib 1 = 1
fib 2 = 2
fib 3 = 3
fib 4 = 5
fib 5 = 8
fib 6 = 13
fib 7 = 21
fib _ = 0
-- fib n = (fib (n - 1)) + (fib (n - 2))
-- fib n = [1, 1, 2, 3, 5, 8, 13, 21] !! n

solve h w k =
    let
        solve' 0 m = m
        solve' h m =
            solve' (h - 1)
            ( [0] ++ [
                sum
                    [ (m !! i) * (fib (i - 1)) * (fib (w - i))
                    , (m !! (i - 1)) * (fib (i - 2)) * (fib (w - i))
                    , (m !! (i + 1)) * (fib (i - 1)) * (fib (w - i - 1))
                    ] `mod` (10 ^ 9 + 7 :: Int)
            | i <- [1..w] ] ++ [0] )
    in
        (solve' h [ if x == k then 1 else 0 | x <- [0..w+1] ]) !! 1

main = do
    [h, w, k] <- map read . words <$> getLine :: IO [Int]
    print $ solve h w k