#abc288f. [abc288_f]Integer Division

[abc288_f]Integer Division

問題文

1010 進表記で NN 桁の正整数 XX が与えられます。XX の各桁は 00 ではありません。
lbrace1,2,ldots,N1rbrace\\lbrace 1,2, \\ldots, N-1 \\rbrace の部分集合 SS に対し、f(S)f(S) を以下のように定義します。

XX1010 進表記したものを長さ NN の文字列とみなし、iinSi \\in S のとき、またそのときに限り文字列の ii 文字目と i+1i + 1 文字目に区切りを入れることで S+1|S| + 1 個の文字列に分解する。
このようにして得られた S+1|S|+1 個の文字列を 1010 進表記された整数とみなし、f(S)f(S) をこれら S+1|S|+1 個の整数の積で定める。

SS としてあり得るものは空集合を含めて 2N12^{N-1} 通りありますが、これら全てに対する f(S)f(S) の総和を 998244353998244353 で割った余りを求めてください。

制約

  • 2leqNleq2times1052 \\leq N \\leq 2 \\times 10^5
  • XX1010 進表記で NN 桁で、各桁は 00 でない
  • 入力はすべて整数

入力

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

NN XX

出力

答えを出力せよ。


入力例 1

3
234

出力例 1

418

S=emptysetS = \\emptyset とすると、f(S)=234f(S) = 234 です。
S=lbrace1rbraceS = \\lbrace 1 \\rbrace とすると、f(S)=2times34=68f(S) = 2 \\times 34 = 68 です。
S=lbrace2rbraceS = \\lbrace 2 \\rbrace とすると、f(S)=23times4=92f(S) = 23 \\times 4 = 92 です。
S=lbrace1,2rbraceS = \\lbrace 1, 2 \\rbrace とすると、f(S)=2times3times4=24f(S) = 2 \\times 3 \\times 4 = 24 です。
234+68+92+24=418234 + 68 + 92 + 24 = 418 であるため、418418 を出力します。


入力例 2

4
5915

出力例 2

17800

入力例 3

9
998244353

出力例 3

258280134