Hazoq and tax evasion#12215

Hazoq and tax evasion

3 seconds
1,024 megabytes
Very hard

Hazoq was playing Minecraft then his door suddenly came off flying. Turns out it's Joy and he's here to claim taxes. But since Hazoq spent all his money on indomie he was not able to pay them and decided to run. Joy being not able to walk properly because of his old age he had no chance of catching him so he made a deal with Hazoq, Joy gave Hazoq a problem and told him if he solves it he doesn't have to pay taxes anymore.

The problem is as follows:

Given three integers , , count the number of different arrays of size that satisfy all the following conditions:

You're a friend of Hazoq so you've decided to help him.

As the answer can be very large, output it modulo 10^9 + 7.

Input

The input consists of only three integers n, x, k (1 \le n \le 10^5, 1 \le x \le \min(500, n), 0 \le k \le n-1).

Output

The output consists of only one integer, the number of different arrays modulo 10^9 + 7.

Examples

Example 1

Loading
Loading

Example 2

Loading
Loading

Example 3

Loading
Loading

Note

In the first sample. The two arrays are and . It can be shown that there are no other arrays that satisfy the conditions.

In the second sample. The arrays are \{1, 1, 4\}, \{1, 4, 1\}, \{4, 1, 1\}, and .

Scoring

  • Subtask ( points): 1 \le n \le 8

  • Subtask ( points): k=0

  • Subtask ( points): 1 \le n \le 100

  • Subtask ( points): x=2

  • Subtask ( points): 1 \le n \le 1000

  • Subtask ( points): 1 \le x \le 20

  • Subtask ( points): No additional constraints