AT_arc209_e [ARC209E] I hate ABC

Description

長さ $ N $ の `A`, `B`, `C` からなる文字列 $ S $ のうち、以下の値が $ K $ になるものの個数を $ 998244353 $ で割った余りを求めてください。 - $ S $ の(連続とは限らない)部分列のうち、(連続とは限らない)部分列として `ABC` を含まないものの長さの最大値 $ T $ 個のテストケースが与えられるので、それぞれについて解いてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ T $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_T $ 各ケースは以下の形式で与えられる。 > $ N\ K $

Output Format

$ T $ 行出力せよ。 $ i(1 \le i \le T) $ 行目には、 $ i $ 番目のテストケースの答えを出力せよ。

Explanation/Hint

### Sample Explanation 1 $ 1 $ 番目のテストケースについて、例えば `ACBC` は条件を満たします。`ACBC` 自身は部分列に `ABC` を含み、`ACC` は部分列に `ABC` を含まないため、部分列に `ABC` を含まないような部分列の長さの最大値は $ 3 $ となります。 他にも `AABC`, `ABCA` などが条件を満たします。 ### Constraints - $ 1 \le T \le 2 \times 10^5 $ - $ 1 \le N \le 10^6 $ - $ \max(0,N-100) \le K \le N $