#320. [R51F]听取蛙声一片4

[R51F]听取蛙声一片4

时空限制

2S/1024M

题目描述

jiangly 正在打怪。

游戏中有 nn 只不同的青蛙和 mm 个不同的怪。jiangly 需要将这 n+mn+m 个单位排列成一个序列,并按照顺序依次处理。

每当 jiangly 遇到一个单位时,会发生以下事件:

  • 如果是一只青蛙:将其收入手中,手中青蛙数量增加 11
  • 如果是一个
    • 如果此时手中青蛙:jiangly 会投掷出一只青蛙将怪打死,手中青蛙数量减少 11
    • 如果此时手中没有青蛙:怪会给 jiangly 造成 11 点伤害,然后怪直接走开。

由于所有的青蛙都是不同的,所有的怪也都是不同的,因此总共有 (n+m)!(n+m)! 种不同的领取顺序。jiangly 想知道,在所有方案中,分别有多少种方案会给自己带来 0,1,,m0, 1, \dots, m 点伤害。

由于答案可能很大,请输出答案对 619941783619941783 取模的结果。

格式

输入格式

第一行包含两个整数 nnmm,分别表示青蛙的数量和怪的数量。

输出格式

输出 m+1m+1 行,每行一个整数。

ii 行(从 11 开始计数)的整数表示恰好造成 i1i-1 点伤害的方案数对 619941783619941783 取模的结果。

样例

样例输入 #1

3 2

样例输出 #1

60
48
12

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 nn\le mm\le 其他限制
11 1010 1010 n+m10n+m \le 10
22 2020 100100 无特殊限制
33 3030 500500 500500
44 4040 10610^6

对于 100%100\% 的数据,满足 1n1061 \le n \le 10^60m5000 \le m \le 500