dokukinokoさんは,\(K+1\) 枚の絨毯\(1,\ldots,K+1\) をすべて,左から順に並んだ \(N\) 個のマス \(1,\ldots,N\) に敷くことにしました. 絨毯 \(i\) は長さ \(A_i\) であり,連続する \(A_i\) 個のマスを覆うように敷くことができます.
dokukinokoさんは赤い絨毯や青い絨毯,茶色の絨毯から灰色の絨毯まで,ありとあらゆる色とりどりの絨毯をこよなく愛していますが,黒い絨毯だけは大嫌いです. そして,不幸にも絨毯 \(K+1\) は黒い絨毯です.
そこで,まず黒い絨毯を敷き,その上から他の絨毯を重ねることで,黒い絨毯が一切見えないようにしたいと考えました. ただし,黒い絨毯以外の絨毯同士が重なってしまうのは困ります.
このような条件を満たす絨毯の敷き方は何通りあるか求めてください.
厳密には,以下の条件をすべて満たすような絨毯の敷き方の個数を \(998244353\) で割った余りを求めてください.
ただし,絨毯は番号によって区別されます. また,いずれかの絨毯の左端の位置が異なる場合,それらは異なる敷き方として数えます.
条件を満たすような絨毯の敷き方の個数を \(998244353\) で割った余りを出力してください.
4 22 1 2
10
19 51 1 4 5 1 4
456192