AT_ndpc2026_j 個数と総和

Description

長さ $ N $ の正整数列 $ A=(A_1,A_2,\dots,A_N) $ と正整数 $ S,T $ が与えられます。 以下の条件を全て満たす非負整数列 $ (c_1,c_2,\dots,c_N) $ としてあり得るものの個数を $ 998244353 $ で割った余りを求めてください。 - $ c_1 + c_2 + \dots + c_N = S $ - $ A_1 c_1 + A_2 c_2 + \dots + A_N c_N = T $

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ S $ $ T $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $

Output Format

条件を満たす非負整数列 $ (c_1,c_2,\dots,c_N) $ としてあり得るものの個数を $ 998244353 $ で割った余りを出力せよ。

Explanation/Hint

### Sample Explanation 1 条件を満たす $ (c_1, c_2, c_3, c_4) $ は次の $ 5 $ 個です。 - $ (0,2,2,0) $ - $ (0,3,0,1) $ - $ (1,0,3,0) $ - $ (1,1,1,1) $ - $ (2,0,0,2) $ ### Constraints - $ 1 \leq N \leq 20 $ - $ 1 \leq S \leq 10^{18} $ - $ 1 \leq T \leq 10^{18} $ - $ 1 \leq A_i \leq 200 $ - $ \displaystyle \sum_{i=1}^N A_i \leq 200 $ - 入力される値は全て整数