#L3653. 「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

样例 1

输入

2 2 2
0 1
1 0

输出

4 2 2
2 4
2

对于样例 1,容易发现一次有 44 种可能 01,10,02,2001,10,02,20

两次一共有 1616 种可能:

  • 0102,11,00,2101 \rightarrow 02,11,00,21
  • 1011,20,21,0010 \rightarrow 11,20,21,00
  • 0200,12,01,2202 \rightarrow 00,12,01,22
  • 2021,00,22,1020 \rightarrow 21,00,22,10

样例 2

输入

2 2 2
0 1
2 0

输出

0 0 3
6 0
0

样例 3

输入

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 特殊性质
1 33 66 44
2 55 1010
3 88 33 55
4 2020
5 1717 500500 10910^9
6 2020 101810^{18}
7 4040 10510^5 2020 bi=0b_i=0
8 10910^9
9 5050
10 4040 10510^5 10910^{9}
11 5050 101810^{18}
12 1010 bi=0b_i=0
13 8080 100100
14 100100
15 10910^{9}
16 10510^5
17 101810^{18}
18 110110
19 120120