Codeforces Round 144 (Div. 2)
D
Table
Codeforces
未评级
原题
← CE →
翻译中…

John Doe has an $*n* × *m*$ table. John Doe can paint points in some table cells, not more than one point in one table cell. John Doe wants to use such operations to make each square subtable of size $*n* × *n*$ have exactly $*k*$ points.

翻译中…

John Doe wondered, how many distinct ways to fill the table with points are there, provided that the condition must hold. As this number can be rather large, John Doe asks to find its remainder after dividing by $1000000007$ $(10^{9} + 7)$.

翻译中…

You should assume that John always paints a point exactly in the center of some cell. Two ways to fill a table are considered distinct, if there exists a table cell, that has a point in one way and doesn't have it in the other.

翻译中…

Input

翻译中…

A single line contains space-separated integers $*n*$, $*m*$, $*k*$ ($1 ≤ *n* ≤ 100; *n* ≤ *m* ≤ 10^{18}; 0 ≤ *k* ≤ *n*^{2}$) — the number of rows of the table, the number of columns of the table and the number of points each square must contain.

翻译中…

Please, do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specifier.

翻译中…

Output

翻译中…

In a single line print a single integer — the remainder from dividing the described number of ways by $1000000007$ $(10^{9} + 7)$.

翻译中…

Note

翻译中…

Let's consider the first test case:

翻译中…

image

翻译中…

The gray area belongs to both

翻译中…

5 × 5

翻译中…

squares. So, if it has one point, then there shouldn't be points in any other place. If one of the white areas has a point, then the other one also must have a point. Thus, there are about

翻译中…

20

翻译中…

variants, where the point lies in the gray area and

翻译中…

25

翻译中…

variants, where each of the white areas contains a point. Overall there are

翻译中…

45

翻译中…

variants.

翻译中…

样例

Input #1
5 6 1
Output #1
45
InputCopy OutputCopy
题目信息
题号
233D
时间限制
4 s
内存限制
256 MB

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。