铺砖问题
题号:NC21375
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

给你一个1x1×w的条状砖块,你需要以这个砖块作为底座,用1x1xi的基础砖在上面构造高度不超过h的建筑(i是任意小于k的正整数)
一共有多少合法方案,底座的高度不算在内
建筑不能存在某个位置为空,而他的上方有砖的情况

答案对1e9+7模
两种方案算不同有两种情况
1:某个方案在某个位置有砖,而另一种方案没有
2:两种方案在某个位置都有砖,但是来源于不同的基础砖块

输入描述:

输入一行包括三个整数w,h,k (1 ≤ w,h ≤ 50, 1 ≤ k ≤ w)

输出描述:

输出一个整数
示例1

输入

复制
3 1 3

输出

复制
13
示例2

输入

复制
3 2 3

输出

复制
83
示例3

输入

复制
1 5 1

输出

复制
6
示例4

输入

复制
10 10 3

输出

复制
288535435

备注:

子任务1:max(w,h) <= 10
子任务2:max(w,h) <= 20
子任务3:无限制