#abc208f. [abc208_f]Cumulative Sum

[abc208_f]Cumulative Sum

题目描述

对于非负整数 nnmm,我们用一个正整数 KK 定义函数 f(n,m)f(n, m) 如下。

$\\displaystyle f(n, m) = \\begin{cases} 0 & (n = 0) \\\\ n^K & (n > 0, m = 0) \\\\ f(n-1, m) + f(n, m-1) & (n > 0, m > 0) \\end{cases}$

给定 NNMMKK,求 f(N,M)f(N, M)(109+7)(10 ^ 9 + 7) 取模的结果。

约束条件

  • 0N10180 \leq N \leq 10^{18}
  • 0M300 \leq M \leq 30
  • 1K2.5×1061 \leq K \leq 2.5 \times 10^6
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入中给出:

NN MM KK

输出

输出 f(N,M)f(N, M)(109+7)(10 ^ 9 + 7) 取模的结果。


示例输入 1

3 4 2

示例输出 1

35

K=2K = 2 时,n3,m4n \leq 3, m \leq 4 的值 f(n,m)f(n, m) 如下所示。

m=0m = 0

m=1m = 1

m=2m = 2

m=3m = 3

m=4m = 4

n=0n = 0

00

00

00

00

00

n=1n = 1

11

11

11

11

11

n=2n = 2

44

55

66

77

88

n=3n = 3

99

1414

2020

2727

3535


示例输入 2

0 1 2

示例输出 2

0

示例输入 3

1000000000000000000 30 123456

示例输出 3

297085514