給定一個包含 $n$ 個黑色節點與 $n$ 個白色節點的圖 $G$,其中每條邊僅能連接一個黑色節點與一個白色節點(換句話說,該圖為二分圖)。
圖 $G$ 中的每條邊都有顏色:藍色或紅色。沒有兩條相同顏色的邊會連接同一對頂點(換句話說,不存在相同顏色的平行邊)。
對於每個從 $0$ 到 $n$ 的 $k$,請計算圖 $G$ 中包含恰好 $k$ 條紅色邊與 $n - k$ 條藍色邊的完美匹配數量。回想一下,完美匹配是指一個包含 $n$ 條邊的子集,其中沒有兩條邊共用同一個端點。由於數量可能很大,你只需要輸出答案對 $2$ 取模的結果。
輸入格式
第一行包含一個非負整數 $n$ ($1 \le n \le 300$)。
接下來的 $n$ 行,每行包含 $n$ 個字元且中間沒有空格。這些行共同描述了紅色邊的鄰接矩陣。第 $i$ 行的第 $j$ 個字元若為「1」,表示有一條紅色邊連接第 $i$ 個黑色節點與第 $j$ 個白色節點,否則為「0」。
接下來的 $n$ 行以相同的格式描述了藍色邊的鄰接矩陣。
輸出格式
輸出 $n + 1$ 行,分別包含你對於 $k = 0, 1, 2, \dots, n$ 的答案。請記住,你只需要輸出答案對 $2$ 取模的結果。
範例
輸入 1
2 11 10 00 11
輸出 1
0 0 1
說明
在範例中,存在三個完美匹配:
- 紅色 $(1, 1)$,藍色 $(2, 2)$
- 紅色 $(1, 2)$,藍色 $(2, 1)$
- 紅色 $(1, 2)$,紅色 $(2, 1)$