N - 01 String Game Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 100

問題文

整数 N と、01 のみからなる長さ N の文字列 T が与えられます。 01 のみからなる、長さ 2N の文字列 S = s_1 s_2 \ldots s_{2N}T を用いて、Alice と Bob がゲームをします。二人は Alice から始めて、S の全ての文字に印がつくまで交互に以下の操作をします。

  • 1 \le i \le 2N を満たす整数 i であって、s_i にまだ印がついていないようなものを選ぶ。その後、
    • Alice の手番であれば、その桁に o の印をつける。
    • Bob の手番であれば、その桁に x の印をつける。

ゲームが終了した時に、o の印がついている桁だけを左から読み、N 文字の文字列として解釈したものが、辞書順で T 以上であれば Alice の勝利、そうでなければ Bob の勝利です。

開始時に用いる文字列 S として考えられるものは 2^{2N} 通りあります。このうち、両者がそれぞれ自身が勝つために最適な戦略をとる場合に、 Alice が勝つようなものの個数を 998244353 で割ったあまりを求めてください。

制約

  • N は整数
  • 1 \le N\le 2 \times 10^5
  • T0, 1 のみからなる長さ N の文字列

入力

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

N
T

出力

答えを 1 行に出力せよ。


入力例 1

1
0

出力例 1

4

0 または 1 からなる長さ 2 の全ての文字列が該当します。


入力例 2

1
1

出力例 2

3

01, 10, 113 つが該当します。


入力例 3

12
011011000111

出力例 3

13225655