AT_abc242_e [ABC242E] (∀x∀)

Description

[problemUrl]: https://atcoder.jp/contests/abc242/tasks/abc242_e $ T $ 個のテストケースについて、次の問題を解いてください。 整数 $ N $ と文字列 $ S $ が与えられるので、以下の条件を全て満たす文字列 $ X $ の数を $ 998244353 $ で割った余りを求めてください。 - $ X $ は英大文字のみからなる長さ $ N $ の文字列 - $ X $ は回文 - 辞書順で $ X\ \le\ S $ - すなわち、 $ X=S $ であるか、辞書順で $ X $ が $ S $ より前に来る

Input Format

入力は以下の形式で標準入力から与えられる。 > $ T $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_T $ ただし、 $ \mathrm{case}_i $ は $ i $ 個目のテストケースを表す。 各テストケースは以下の形式で与えられる。 > $ N $ $ S $

Output Format

全体で $ T $ 行出力せよ。 $ i $ 行目には $ i $ 個目のテストケースに対する答えを整数として出力せよ。

Explanation/Hint

### 制約 - $ 1\ \le\ T\ \le\ 250000 $ - $ N $ は $ 1 $ 以上 $ 10^6 $ 以下の整数 - ひとつの入力について、含まれるテストケースの $ N $ の総和は $ 10^6 $ を超えない - $ S $ は英大文字のみからなる長さ $ N $ の文字列 ### Sample Explanation 1 この入力には $ 5 $ 個のテストケースが含まれます。 $ 1 $ 個目のテストケース: 問題文中の条件を満たす文字列は `AAA`$ , $ `ABA`$ , $ `ACA`$ ,..., $ `AXA` の $ 24 $ 個です。 $ 2 $ 個目のテストケース: $ S $ が回文であるとは限りません。 $ 3 $ 個目のテストケース: $ 998244353 $ で割った余りを求めることに注意してください。