AT_pakencamp_2025_day3_k Talk Event
Description
$ N $ 人が、声優のトークイベントに申し込みました。このイベントはチケットを $ 1 $ 枚以上 $ 4 $ 枚以下買うことで申し込むことができ、チケットを $ i $ 枚 $ (1\leq i\leq 4) $ 買った人は $ T_i $ 人います。**ここで、人はチケットの枚数のみで区別し、同じ枚数の人は区別しません。**
このトークイベントでは、抽選に当選すれば買ったチケットの枚数と同じ単位時間だけ声優と話すことができます。
イベントの時間は $ X $ 単位時間です。乱数を司る神であるパフィンのパ太郎は、当選者をイベントの時間に収まるように選びます(言い換えると、当選者の買ったチケットの枚数の合計が $ X $ 以下になるように選びます)。ただし、当選しなかった人から不満が出てはいけないので、以下の条件を満たすようにします。
- どの当選していない人についても、その人を追加で当選させるとイベントの時間に収まらなくなる。
当選者を**ちょうど** $ K $ 人選ぶ通り数を $ 998244353 $ で割った余りを求めてください。
以上の問題を $ \text{TESTCASES} $ 個のテストケースについて解いてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ \text{TESTCASES} $ $ \text{case}_1 $ $ \text{case}_2 $ $ \vdots $ $ \text{case}_{TESTCASES} $
各テストケースは以下の形式で与えられる。
> $ N $ $ K $ $ X $ $ T_1 $ $ T_2 $ $ T_3 $ $ T_4 $
Output Format
$ \text{TESTCASES} $ 行出力せよ。
$ i $ 行目には、 $ i $ 番目のテストケースに対する答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
チケットを $ i $ 枚買った人のうち抽選に当たった人数を $ t_i $ とします。最初のテストケースでは、以下の $ 4 $ 通りの選び方があります。
- $ (t_1,t_2,t_3,t_4)=(5,3,0,0) $
- $ (t_1,t_2,t_3,t_4)=(6,1,1,0) $
- $ (t_1,t_2,t_3,t_4)=(7,0,0,1) $
- $ (t_1,t_2,t_3,t_4)=(7,0,1,0) $
$ 2 $ 番目のテストケースでは、条件を満たす選び方は存在しません。
### Constraints
- $ 1\leq \text{TESTCASES}\leq 10^4 $
- $ 1\leq K\leq N\leq 2.5\times 10^8 $
- $ 1\leq X\leq 10^9 $
- $ 0\leq T_i $ $ (1\leq i\leq 4) $
- $ T_1+T_2+T_3+T_4=N $
- 入力はすべて整数