atcoder#ABC291D. [ABC291D] Flip Cards

[ABC291D] Flip Cards

配点 : 400400

問題文

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

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

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

制約

  • 1N2×1051\leq N \leq 2\times 10^5
  • 1Ai,Bi1091\leq A_i,B_i \leq 10^9
  • 入力は全て整数

入力

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

NN

A1A_1 B1B_1

A2A_2 B2B_2

\vdots

ANA_N BNB_N

出力

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

3
1 2
4 2
3 4
4

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

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

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

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

4
1 5
2 6
3 7
4 8
16
8
877914575 602436426
861648772 623690081
476190629 262703497
971407775 628894325
822804784 450968417
161735902 822804784
161735902 822804784
822804784 161735902
48