跳转至

无标号容器分配

预估时间限制:0.5 秒。内存限制:128 MB。

实际时限以标准程序在目标评测环境的最慢用例中位时间乘以 \(2\) ,按 \(0.5\) 秒向上取整。参考环境见评测说明。

背景故事

仓库准备把一批完全相同的物品放入若干完全相同的容器。容器可以空着,装入数量也没有上限。请统计使用不同物品总数时的分配方案。

(本故事由GPT-6重写)

形式化问题描述

给定正整数 \(n,m\) .对每个 \(t=1,2,\ldots,n\) ,把恰好 \(t\) 个不可区分的物品分配到 \(m\) 个不可区分的容器中,求方案数对 \(10^9+7\) 的非负最小剩余。

每个容器可装任意非负整数个物品。两个分配方案相同,当且仅当将全部 \(m\) 个占用量排序后得到相同序列。因此交换容器不产生新方案。每个总数 \(t\) 独立计数。

输入格式

输入一行两个整数 \(n,m\) .

输出格式

输出 \(n\) 行,第 \(t\) 行给出恰好分配 \(t\) 个物品的方案数对 \(10^9+7\) 取模的结果。

样例

样例 1

输入

3 2

输出

1
2
2

样例 2

输入

5 1

输出

1
1
1
1
1

样例 3

输入

5 5

输出

1
2
3
5
7

样例解释

第一组有两个容器:一个物品只有 \((1,0)\) ;两个物品有 \((2,0),(1,1)\) ;三个物品有 \((3,0),(2,1)\) .交换括号内的位置不会形成新的方案。

第二组只有一个容器,每个总数都只有一种方案。第三组的容器数足以分别容纳每个物品,前五个答案是 \(1,2,3,5,7\) .

数据范围与保证

对所有数据,\(1\le n,m\le5000\) .允许空容器。

分值比例 额外条件
100% 无额外条件