loj#P3653. 「2021 集训队互测」抽奖机

「2021 集训队互测」抽奖机

题目描述

L\mathscr{L} 有一个神秘的抽奖机,它由 nn 个转轮组成。

每个转轮有三个档位,记作 0,1,20,1,2,转轮的转动与档位关系如下:

  • 当一个 00 档位转轮被转过一次,会变成 11 档位。

  • 当一个 11 档位转轮被转过一次,会变成 22 档位。

  • 当一个 22 档位转轮被转过一次,会变成 00 档位。

一开始所有 nn 个转轮都在 00 档,将所有转轮的集合记作 SS

抽奖机的抽奖器有 mm 个模式,每个模式可以用两个数字 ai,bia_i,b_i 描述,表示:

  • SS 分为三个集合 A,B,CA,B,C,即满足:

$A\cap B,A\cap B,B\cap C=\emptyset,A\cup B\cup C=S,|A|=a_i,|B|=b_i$

其中 A|A| 表示集合 AA 的大小,容易发现一共有 n!ai!bi!(naibi)!\displaystyle \cfrac{n!}{a_i!b_i!(n-a_i-b_i)!} 种分配集合的方法

  • 然后将集合 AA 中的转轮转动一次,所有集合 BB 中的转轮转过两次

每次拉下摇杆,抽奖机都会进行转动,一次转动如下:

  • 从所有模式里选取一个进行;

  • 从所有可能的转动情况中选择一个进行。

最终,应该有 $\displaystyle \sum_{i=1}^m \cfrac{n!}{a_i!b_i!(n-a_i-b_i)!}$ 种方案,在这样的所有方案中选择一个。

现在奆 L\mathscr{L} 通过 py 手段得知了所有的模式,但是 ta 依然无法控制抽奖机的结果。

自暴自弃的 ta 决定连续乱拉 kk 次拉杆,而并且在此之前,ta 暴怒地逼问你:

最终抽奖机恰好有 ii 个转轮在 11 档,jj 个转轮在 22 档的方案数。

由于答案可能非常大,请输出其 mod109+9\bmod 10^9+9 的结果。

输入格式

第一行三个正整数 n,m,kn,m,k,表示转轮个数,模式个数,奆 L\mathscr{L} 拉拉杆的次数。

然后 mm 行,每行两个整数 ai,bia_i,b_i,描述奆 L\mathscr{L} 通过 py 得知的一个模式。

输出格式

输出 n+1n+1 行,第 ii 行输出 n+2in+2-i 个数。

ii 行第 jj 个数表示:最终抽奖机恰好有 ii 个转轮在 11 档,jj 个转轮在 22 档的方案数,mod109+9\bmod 10^9+9

2 2 2
0 1
1 0
4 2 2
2 4
2
2 2 2
0 1
2 0
0 0 3
6 0
0
3 6 4
1 2
2 0
1 1
0 1
1 0
0 3
4884 14295 14508 4873
14529 29202 14331
14313 14526
4860

数据范围与提示

本题不采用子任务评测。

对于所有数据,满足 $n\leq 120,m\leq 10^5,k\leq 10^{18},\forall 0\leq a_i,b_i\leq n,\forall a_i+b_i\leq n$ 。

给定的 mm 个模式之间可能有重复

下表列出了所有 2020 个测试点 n,m,kn,m,k上限以及数据的特殊性质:

# nn mm kk 特殊性质
11 33 66 44
22 55 1010 1010
33 88 33 55
44 2020 2020 2020
55 1717 500500 10910^9
66 2020 101810^{18}
77 4040 10510^5 2020 bi=0b_i=0
88 10910^9
99 5050 5050
1010 4040 10510^5 10910^{9}
1111 5050 101810^{18}
1212 1010 bi=0b_i=0
1313 8080 100100
1414 100100
1515 100100 10910^{9}
1616 10510^5
1717 101810^{18}
1818 110110
1919
2020 120120