AT_jsc2021_g Spanning Tree
Description
[problemUrl]: https://atcoder.jp/contests/jsc2021/tasks/jsc2021_g
$ N $ 頂点のグラフ $ G $ があり、頂点には $ 1,\ 2,\ \dots,\ N $ の番号がついています。はじめ、$ G $ には辺がありません。
これから $ G $ に何本か無向辺を追加します。ただし、辺を追加し終わった後、任意の $ i,\ j\,(i\ ≠\ j) $ について以下の条件を満たす必要があります。
- $ A_{i,\ j}\ =\ 1 $ のとき、頂点 $ i $ と頂点 $ j $ を直接結ぶ辺が存在する。
- $ A_{i,\ j}\ =\ 0 $ のとき、頂点 $ i $ と頂点 $ j $ を直接結ぶ辺が存在しない。
- $ A_{i,\ j}\ =\ -1 $ のとき、どちらでもよい。
辺を追加し終わった後の $ G $ としてあり得るもののうち、木であるものはいくつあるでしょうか?
ただし、答えは非常に大きくなることがあるので、答えを $ (10^9\ +\ 7) $ で割った余りを求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_{1,\ 1} $ $ \cdots $ $ A_{1,\ N} $ $ \vdots $ $ A_{N,\ 1} $ $ \cdots $ $ A_{N,\ N} $
Output Format
答えを $ (10^9\ +\ 7) $ で割った余りを出力せよ。
Explanation/Hint
### 制約
- 入力は全て整数
- $ 2\