题号:NC23924
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
小K有n个雕塑,每个雕塑上有一个整数
若集合T中的每一个元素在n个雕塑上都能找得到,则称这个集合为一个优秀的集合
小K想知道所有大小<=k优秀的集合的价值和是多少
一个优秀的集合的价值可以用
%3D%5Cprod%20_%7Bx%E2%88%88T%7Dx)
来表示
特别的F(∅)=1, |∅|=0
即求
输入描述:
两个整数n,k,分别表示雕塑的数量与集合大小的上限
接下来n个整数表示第i个雕塑上的数字
是多少
输出描述:
一行表示所有大小<=k优秀集合的权值和
备注:
有

的数据满足k=1
有

的数据满足k=n
以上两个部分包含在

的数据中,但不包含在前

的数据中
对于前

的数据,满足

对于

的数据,满足

由于答案可能过大请对109+7取模后输出