A - Welcome to NPCAPC Editorial /

Time Limit: 4 sec / Memory Limit: 1024 MB

配点 : 100

問題文

英大文字と英小文字からなる長さ N の文字列のうち、 NPCAPCnpcapc の両方を部分文字列(連続でなくてもよい)として含むものの個数を 998244353 で割ったあまりを求めてください。

T 個のテストケースが与えられるので、それぞれについて解いてください。

制約

  • 1 \leq N\leq 10^9
  • 1 \leq T\leq 5000

部分点

この問題には複数の部分点が設定されている。

  • N \leq 2\times 10^5,T \leq 10 を満たすデータセットに正解した場合 10 点が与えられる。
  • N \leq 10^9,T \leq 10 を満たすデータセットに正解した場合追加で 10 点が与えられる。

入力

入力は以下の形式で標準入力から与えられる。

T
\mathrm{Case}_1
\mathrm{Case}_2
\vdots
\mathrm{Case}_T

ここで \mathrm{Case}_ii 番目のテストケースを意味する。それぞれのテストケースは以下の形式で与えられる。

N 

出力

T 行出力せよ。i 行目には i 番目のテストケースに対する答えを出力せよ。


入力例 1

4
12
6
5839
123456

出力例 1

924
0
966252995
432934749

1 番目のテストケースでは、条件を満たす文字列は npcapcNPCAPCNPCnpcAapPCc などの 924 通りがあります。


入力例 2

3
123456789
987654321
999999999

出力例 2

333574957
124462731
163251704