小红的连续段
题号:NC267783
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小红定义一个字符串的“连续段”数量为:相同字符的极长连续子串的数量。例如,"aabbaaa"共有 3 个连续段:"aa"+"bb"+"aaa"。
现在,小红希望你求出,长度为x+y,包含恰好有x个'a'和y个'b'组成的字符串,连续段数量恰好为i的字符串数量。你需要回答i∈[1,x+y]的每个i的答案。

输入描述:

两个正整数x,y,用空格隔开。
1\leq x,y \leq 1000

输出描述:

输出共x+y行,第i行代表连续段数量为i的字符串数量。由于答案可能过大,请对10^9+7取模。
示例1

输入

复制
2 1

输出

复制
0
2
1

说明

两个'a'和一个'b'组成的字符串有 3 个,其中 2 个的连续段数量为 2:"aab"和"baa",其中一个的连续段数量为 3:"aba"