#arc039b. [arc039_b]高橋幼稚園

[arc039_b]高橋幼稚園

问题描述

高桥君是幼儿园的老师。他决定给 NN 个孩子分发恰好 KK 个糖果。

这里,整体幸福度定义为每个孩子得到的糖果数量的乘积。

高桥君希望在给 NN 个孩子分发糖果时最大化整体幸福度。请计算有多少种分发方法可以最大化整体幸福度。由于答案可能很大,输出结果需要对 1,000,000,007(109+7)1,000,000,007 (10^9+7) 取余。

只要每个孩子得到的糖果数量不同,分发方式就是区别的。孩子是可区分的,糖果是不可区分的。此外,请注意如果至少有一个孩子没有得到任何糖果,整体幸福度将为0。

输入

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

NN KK

  • 第 1 行包含两个整数 N(1N100)N (1 ≦ N ≦ 100)K(1K500)K (1 ≦K ≦ 500),分别表示孩子的数量和糖果的数量,两个数之间用空格分隔。

部分分

本问题有部分分。

  • 在80分的测试用例中,除了问题描述中的约束条件外,还需满足 NKN≦K
  • 在剩余的20分的测试用例中,没有额外的约束条件。

输出

输出结果以以下格式输出到标准输出。

第 1 行输出答案对 1,000,000,0071,000,000,007 取余的结果。

注意:不要忘记换行符。

示例1


4 10

输出示例1


6

在4个孩子中,有2个孩子得到3个糖果,另外2个孩子得到2个糖果,这样整体幸福度最大化为 3×3×2×2=363×3×2×2=36

这样的分发方式为:假设分发给4个孩子的糖果数量分别为 c1,c2,c3,c4c_1,c_2,c_3,c_4,满足 (c1,c2,c3,c4)(c_1,c_2,c_3,c_4) 是以下情况之一:

  • (3,3,2,2)(3,3,2,2)
  • (3,2,3,2)(3,2,3,2)
  • (3,2,2,3)(3,2,2,3)
  • (2,3,3,2)(2,3,3,2)
  • (2,3,2,3)(2,3,2,3)
  • (2,2,3,3)(2,2,3,3)

共有6种分发方式。

示例2


100 450

输出示例2


538992043

请注意,需要输出的是答案除以 1,000,000,0071,000,000,007 取余的结果。

示例3


5 2

输出示例3


15

无论如何分配糖果,整体幸福度都为0,所以可以任意分配。