#P5249. 「2019-03-03提高模拟赛」旅游(travel)

「2019-03-03提高模拟赛」旅游(travel)

Description

ZSL 要外出旅游,他的旅途一共有nn天,他带上了mm件衣服。每天他都会穿一件衣服,但是他不想在连续的pp天内穿同一件衣服两次以上,他想知道在他nn天的旅行中有多少种穿法,由于数字可能很大,你需要对其模上1 000 000 0071\ 000\ 000\ 007

Input Format

输入文件名为travel.in

输入数据仅一行,包含三个正整数mmnnpp,他们之间用一个空格隔开,意义见题目描述。

Output Format

输出文件名为travel.out

输出仅一行,一个自然数,意义见题目描述。

Sample

样例输入 1

3 4 3

样例输出 1

6

样例解释 1

满足条件的穿法有(1,2,3,1)(1,2,3,1)(1,3,2,1)(1,3,2,1)(2,1,3,2)(2,1,3,2)(2,3,1,2)(2,3,1,2)(3,1,2,3)(3,1,2,3)(3,2,1,3)(3,2,1,3)66种。

Hint

对于10%10\%的数据:m,n8m,n\le 8
对于50%50\%的数据:n100n\le 100m1 000m\le 1\ 000
另有10%10\%的数据:n5 000n\le 5\ 000p2p\le 2
另有10%10\%的数据:n1 000n\le 1\ 000m,p7m,p\le 7
对于80%80\%的数据:n2 000n\le 2\ 000
对于100%100\%的数据:n5 000n\le 5\ 000m1 000 000 000m\le 1\ 000\ 000\ 000pm,np\le m,n