AT_abc336_g [ABC336G] 16 Integers

Description

[problemUrl]: https://atcoder.jp/contests/abc336/tasks/abc336_g $ 16 $ 個の非負整数 $ X_{i,\ j,\ k,\ l} $ $ (i,\ j,\ k,\ l\ \in\ \lbrace\ 0,\ 1\ \rbrace) $ が $ (i,\ j,\ k,\ l) $ の昇順に与えられます。 また、$ N\ =\ \displaystyle\ \sum_{i=0}^1\ \sum_{j=0}^1\ \sum_{k=0}^1\ \sum_{l=0}^1\ X_{i,j,k,l} $ とします。 $ 0 $ または $ 1 $ からなる長さ $ N\ +\ 3 $ の数列 $ (A_1,\ A_2,\ ...,\ A_{N+3}) $ のうち、次の条件を満たすものの個数を $ 998244353 $ で割った余りを求めてください。 - 整数の $ 4 $ つ組 $ (i,\ j,\ k,\ l) $ $ (i,\ j,\ k,\ l\ \in\ \lbrace\ 0,\ 1\ \rbrace) $ 全てについて、次の条件を満たす $ 1 $ 以上 $ N $ 以下の整数 $ s $ はちょうど $ X_{i,j,k,l} $ 個存在する。 - $ A_s\ =\ i,\ A_{s\ +\ 1}\ =\ j,\ A_{s\ +\ 2}\ =\ k,\ A_{s\ +\ 3}\ =\ l $ である。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ X_{0,0,0,0} $ $ X_{0,0,0,1} $ $ X_{0,0,1,0} $ $ X_{0,0,1,1} $ $ X_{0,1,0,0} $ $ X_{0,1,0,1} $ $ X_{0,1,1,0} $ $ X_{0,1,1,1} $ $ X_{1,0,0,0} $ $ X_{1,0,0,1} $ $ X_{1,0,1,0} $ $ X_{1,0,1,1} $ $ X_{1,1,0,0} $ $ X_{1,1,0,1} $ $ X_{1,1,1,0} $ $ X_{1,1,1,1} $

Output Format

問題文の条件を満たす数列の個数を $ 998244353 $ で割った余りを出力せよ。

Explanation/Hint

### 制約 - $ X_{i,\ j,\ k,\ l} $ は全て非負整数 - $ 1\ \leq\ \displaystyle\ \sum_{i=0}^1\ \sum_{j=0}^1\ \sum_{k=0}^1\ \sum_{l=0}^1\ X_{i,j,k,l}\ \leq\ 10^6 $ ### Sample Explanation 1 この入力は、 $ X_{1,\ 0,\ 1,\ 0} $ と $ X_{1,\ 1,\ 0,\ 1} $ が $ 1 $ でそれ以外は $ 0 $ であるような入力です。 このとき、条件を満たす数列は $ (1,\ 1,\ 0,\ 1,\ 0) $ の $ 1 $ 通りのみです。