#abc291d. [abc291_d]Flip Cards

[abc291_d]Flip Cards

問題文

11 から NN までの番号がついた NN 枚のカードが一列に並んでいて、各 i(1leqi<N)i\\ (1\\leq i < N) に対してカード ii とカード i+1i+1 が隣り合っています。 カード ii の表には AiA_i が、裏には BiB_i が書かれており、最初全てのカードは表を向いています。

今から、NN 枚のカードのうち好きな枚数 (00 枚でも良い) を選んで裏返すことを考えます。 裏返すカードの選び方は 2N2^N 通りありますが、そのうち以下の条件を満たすものの数を 998244353998244353 で割った余りを求めてください。

  • 選んだカードを裏返した後、どの隣り合う 22 枚のカードについても、向いている面に書かれた数が相異なる。

制約

  • 1leqNleq2times1051\\leq N \\leq 2\\times 10^5
  • 1leqAi,Bileq1091\\leq A_i,B_i \\leq 10^9
  • 入力は全て整数

入力

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

NN A1A_1 B1B_1 A2A_2 B2B_2 vdots\\vdots ANA_N BNB_N

出力

答えを整数として出力せよ。


入力例 1

3
1 2
4 2
3 4

出力例 1

4

裏返すカードの番号の集合を SS とします。

例えば S=2,3S=\\{2,3\\} を選ぶと、向いている面に書かれた数はカード 11 から順に 1,2,41,2,4 となるため条件を満たします。

一方 S=3S=\\{3\\} を選ぶと、向いている面に書かれた数はカード 11 から順に 1,4,41,4,4 となり、カード 22 とカード 33 の数が一致するため条件を満たしません。

条件を満たす SS,1,2,2,3\\{\\},\\{1\\},\\{2\\},\\{2,3\\}44 通りです。


入力例 2

4
1 5
2 6
3 7
4 8

出力例 2

16

入力例 3

8
877914575 602436426
861648772 623690081
476190629 262703497
971407775 628894325
822804784 450968417
161735902 822804784
161735902 822804784
822804784 161735902

出力例 3

48