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 $
- 入力される値は全て整数