from collections import defaultdict

A = [1, 2, 3, 5, 8, 13, 21, 34]

MOD = 10**9 + 7

H, W, K = list(map(int, input().split()))

K -= 1

if W == 0:

    print((1))

    exit()

dp = [[0] * W for _ in range(H + 1)]

dp[0][0] = 1

for i in range(1, H + 1):

    for j in range(i + 1):

        for k in [-1, 0, 1]:

            if not 0 <= j + k < W: continue

            if not 0 <= j < W: continue

            if k == -1:

                left = max(0, j - 1 - 1)

                right = max(0, W - j - 2)

            elif k == 0:

                left = max(0, j - 1)

                right = max(0, W - j - 2)

            elif k == 1:

                left = max(0, j - 1)

                right = max(0, W - j - 2 - 1)

            dp[i][j] += dp[i - 1][j + k] * A[left] * A[right]

print((dp[H][K] % MOD))
A = [1, 2, 3, 5, 8, 13, 21]

MOD = 10**9 + 7

H, W, K = list(map(int, input().split()))

if W == 0:

    print((1))

    exit()

dp = [[0] * W for _ in range(H + 1)]

dp[0][0] = 1

for i in range(1, H + 1):

    for j in range(i + 1):

        for k in [-1, 0, 1]:

            if not 0 <= j + k < W: continue

            if not 0 <= j < W: continue

            if k == -1:

                left = max(0, j - 1 - 1)

                right = max(0, W - j - 2)

            elif k == 0:

                left = max(0, j - 1)

                right = max(0, W - j - 2)

            elif k == 1:

                left = max(0, j - 1)

                right = max(0, W - j - 2 - 1)

            dp[i][j] += dp[i - 1][j + k] * A[left] * A[right]

            dp[i][j] %= MOD

print((dp[H][K - 1]))
from collections import defaultdict

A = [1, 2, 3, 5, 8, 13, 21, 34]
MOD = 10**9 + 7
H, W, K = list(map(int, input().split()))
K -= 1
if W == 0:
    print((1))
    exit()
dp = [[0] * W for _ in range(H + 1)]
dp[0][0] = 1
for i in range(1, H + 1):
    for j in range(i + 1):
        for k in [-1, 0, 1]:
            if not 0 <= j + k < W:
                continue
            if not 0 <= j < W:
                continue
            if k == -1:
                left = max(0, j - 1 - 1)
                right = max(0, W - j - 2)
            elif k == 0:
                left = max(0, j - 1)
                right = max(0, W - j - 2)
            elif k == 1:
                left = max(0, j - 1)
                right = max(0, W - j - 2 - 1)
            dp[i][j] += dp[i - 1][j + k] * A[left] * A[right]
print((dp[H][K] % MOD))

A = [1, 2, 3, 5, 8, 13, 21]
MOD = 10**9 + 7
H, W, K = list(map(int, input().split()))
if W == 0:
    print((1))
    exit()
dp = [[0] * W for _ in range(H + 1)]
dp[0][0] = 1
for i in range(1, H + 1):
    for j in range(i + 1):
        for k in [-1, 0, 1]:
            if not 0 <= j + k < W:
                continue
            if not 0 <= j < W:
                continue
            if k == -1:
                left = max(0, j - 1 - 1)
                right = max(0, W - j - 2)
            elif k == 0:
                left = max(0, j - 1)
                right = max(0, W - j - 2)
            elif k == 1:
                left = max(0, j - 1)
                right = max(0, W - j - 2 - 1)
            dp[i][j] += dp[i - 1][j + k] * A[left] * A[right]
            dp[i][j] %= MOD
print((dp[H][K - 1]))

-from collections import defaultdict - -A = [1, 2, 3, 5, 8, 13, 21, 34] +A = [1, 2, 3, 5, 8, 13, 21] -K -= 1 -print((dp[H][K] % MOD)) +            dp[i][j] %= MOD +print((dp[H][K - 1]))