100 atcoder#ABC113D. [ABC113D] Number of Amidakuji

[ABC113D] Number of Amidakuji

Score: 400400 points

Problem Statement

Amidakuji is a traditional method of lottery in Japan.

To make an amidakuji, we first draw WW parallel vertical lines, and then draw horizontal lines that connect them. The length of each vertical line is H+1H+1 [cm], and the endpoints of the horizontal lines must be at 1,2,3,...,1, 2, 3, ..., or HH [cm] from the top of a vertical line.

A valid amidakuji is an amidakuji that satisfies the following conditions:

  • No two horizontal lines share an endpoint.
  • The two endpoints of each horizontal lines must be at the same height.
  • A horizontal line must connect adjacent vertical lines.

Find the number of the valid amidakuji that satisfy the following condition, modulo 1 000 000 0071\ 000\ 000\ 007: if we trace the path from the top of the leftmost vertical line to the bottom, always following horizontal lines when we encounter them, we reach the bottom of the KK-th vertical line from the left.

For example, in the following amidakuji, we will reach the bottom of the fourth vertical line from the left.

Constraints

  • HH is an integer between 11 and 100100 (inclusive).
  • WW is an integer between 11 and 88 (inclusive).
  • KK is an integer between 11 and WW (inclusive).

Input

Input is given from Standard Input in the following format:

HH WW KK

Output

Print the number of the amidakuji that satisfy the condition, modulo 1 000 000 0071\ 000\ 000\ 007.

1 3 2
1

Only the following one amidakuji satisfies the condition:

1 3 1
2

Only the following two amidakuji satisfy the condition:

2 3 3
1

Only the following one amidakuji satisfies the condition:

2 3 1
5

Only the following five amidakuji satisfy the condition:

7 1 1
1

As there is only one vertical line, we cannot draw any horizontal lines. Thus, there is only one amidakuji that satisfies the condition: the amidakuji with no horizontal lines.

15 8 5
437760187

Be sure to print the answer modulo 1 000 000 0071\ 000\ 000\ 007.