#P6026. 餐馆

餐馆

题目背景

小 W 家新开了一家餐馆。

题目描述

这家餐馆提供 nn 种特色菜,它们被标号为 1,2,,n1,2,\cdots,n

有一天,餐馆里来了 kk 个客人,他们没有想好要吃什么。于是,小 W 给他们出了个主意:每个人先从 1,2,,n1,2,\cdots,n 中等概率随机一个数 rr,再从 1,2,,r1,2,\cdots,r 中等概率随机一个数 ll,这个人就点标号在 llrr 之间(包括 llrr)的菜。

于是,客人们按小 W 说的做了。在所有客人都点完单之后,小 W 突然发现:没有两个人都点了相同的一道菜,他每种菜至多做一份就够了!为了证明他是多么的欧皇,他找到了学编程的你,请你帮他计算这种情况发生的概率。

输入格式

两个整数 nnkk,意义如题目描述。

输出格式

一个整数 pp,表示所求概率对 109+710^9+7 取模后的结果。

10 1

1
2 2

250000002

提示

样例解释:
样例 11 解释:因为只有一位客人,所以无论如何不会有两个人点同样的菜,故所求概率为 11

样例 22 解释:每位客人只点 11 号菜的概率为 12\dfrac12,只点 22 号菜的概率为 14\dfrac14,两个菜都点的概率为 14\dfrac14,两人不点同一道菜即一人只点 11 号菜,一人只点 22 号菜,概率为 $\dfrac14\times\dfrac12+\dfrac12\times\dfrac14=\dfrac14$,模 109+710^9+7 意义下为 250000002250000002


提示:如果你不知道如何对有理数取余,请看 P2613


数据范围:
对于 10%10\% 的数据, k=1k=1
对于另外 10%10\% 的数据, 1kn51\le k\le n\le5
对于另外 20%20\% 的数据, 1k31\le k\le3
对于另外 30%30\% 的数据, 1kn1031\le k\le n\le10^3
对于所有数据, 1kn1081\le k\le n\le 10^8