AT_xmascon22_f Fast as Fast as Ryser
Description
無向グラフ $ G $ は $ 1, 2, \ldots, N $ を頂点とし,頂点 $ u $ と頂点 $ v $ を結ぶ辺はちょうど $ A_{u,v} $ 本ある ( $ 1 \le u, v \le N $ ).すべての辺は区別される.
各 $ k = 0, 1, \ldots, \lfloor N/2 \rfloor $ に対し, $ G $ の大きさ $ k $ のマッチングの個数を $ 2^{64} $ で割った余りを求めよ.
( $ G $ の大きさ $ k $ のマッチングとは, $ G $ の辺 $ k $ 本からなる集合であって,それらの端点 $ 2 k $ 個が相異なるようなものを指す.)
Input Format
入力は以下の形式で標準入力から与えられる.
> $ N $ $ A_{1,1} $ $ A_{1,2} $ $ \cdots $ $ A_{1,N} $ $ A_{2,1} $ $ A_{2,2} $ $ \cdots $ $ A_{2,N} $ $ \vdots $ $ A_{N,1} $ $ A_{N,2} $ $ \cdots $ $ A_{N,N} $
Output Format
$ G $ の大きさ $ k $ のマッチングの個数を $ 2^{64} $ で割った余りを $ b_k $ として ( $ 0 \le k \le \lfloor N/2 \rfloor $ ),以下の形式で出力せよ.
> $ b_0 $ $ b_1 $ $ \cdots $ $ b_{\lfloor N/2 \rfloor} $
Explanation/Hint
### Sample Explanation 1
$ G $ の大きさ $ 2 $ のマッチングは,以下の通りである.
- 頂点 $ 1, 2 $ を結ぶ辺のうち $ 1 $ 本と,頂点 $ 3, 4 $ を結ぶ辺のうち $ 1 $ 本からなるものが $ 200 $ 個
- 頂点 $ 1, 3 $ を結ぶ辺のうち $ 1 $ 本と,頂点 $ 2, 4 $ を結ぶ辺のうち $ 1 $ 本からなるものが $ 120\,000 $ 個
### Constraints
- $ 1 \le N \le 40 $ .
- $ 0 \le A_{u,v} < 2^{64} $ ( $ 1 \le u, v \le N $ ).
- $ A_{u,u} = 0 $ ( $ 1 \le u \le N $ ).
- $ A_{u,v} = A_{v,u} $ ( $ 1 \le u, v \le N $ ).