AT_arc197_d [ARC197D] Ancestor Relation

Description

$ N\times N $ 行列 $ A = (A_{i,j}) $ ( $ 1\leq i,j\leq N $ ) が与えられます. $ A $ の成分は $ 0 $ または $ 1 $ です. 頂点に $ 1 $ から $ N $ までの番号が付けられた $ N $ 頂点の木 $ G $ であって,次の条件を満たすものの個数を $ 998244353 $ で割った余りを求めてください. - $ A_{i,j}=1 $ であることと,以下の $ 2 $ 条件のうち少なくともひとつが成り立つことは同値である: - 頂点 $ 1 $ を根としたとき頂点 $ j $ は頂点 $ i $ の祖先である.つまり頂点 $ j $ は,頂点 $ 1, i $ を結ぶ $ G $ 上のパス上にある. - 頂点 $ 1 $ を根としたとき頂点 $ i $ は頂点 $ j $ の祖先である.つまり頂点 $ i $ は,頂点 $ 1, j $ を結ぶ $ G $ 上のパス上にある. ただし,パスの端点もパス上にあると見なします. $ G $ は木であるとき, $ 2 $ 頂点を結ぶ $ G $ 上のパスは一意に存在することにも注意してください. $ T $ 個のテストケースが与えられるので,それぞれについて解いてください.

Input Format

入力は以下の形式で標準入力から与えられます. > $ T $ $ \text{case}_1 $ $ \vdots $ $ \text{case}_T $ 各ケースは以下の形式で与えられます. > $ N $ $ A_{1,1} $ $ \cdots $ $ A_{1,N} $ $ \vdots $ $ A_{N,1} $ $ \cdots $ $ A_{N,N} $

Output Format

$ T $ 行出力してください. $ i $ 行目には $ i $ 番目のテストケースについて,条件を満たす $ N $ 頂点の木 $ G $ の個数を $ 998244353 $ で割った余りを出力してください.

Explanation/Hint

### Sample Explanation 1 $ 1 $ 番目のテストケースでは次の $ 1 $ つの $ G $ が条件を満たします. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_arc197_d/85e7f73417641d7e9a75c587cc78154a61ee11c5682912fdab3d7a7344d22103.png) $ 2 $ 番目のテストケースでは次の $ 2 $ つの $ G $ が条件を満たします. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_arc197_d/5033d973232ea472aa64f0ff464e6d19fb7dab205d8f4983c376ce1919daca59.png) ### Constraints - $ 1\leq T\leq 10^5 $ - $ 2\leq N\leq 400 $ - $ A_{i,j}\in \lbrace 0,1\rbrace $ $ (1\leq i,j\leq N) $ - $ A_{i,i}=1 $ $ (1\leq i\leq N) $ - $ A_{i,j}=A_{j,i} $ $ (1\leq i,j\leq N) $ - すべてのテストケースにわたる $ N^2 $ の総和は $ 400^2 $ 以下.