atcoder#ABC273H. [ABC273Ex] Inv(0,1)ving Insert(1,0)n

[ABC273Ex] Inv(0,1)ving Insert(1,0)n

配点 : 600600

問題文

整数組からなる列 AA があります。はじめ A=((0,1),(1,0))A = ( (0, 1), (1, 0) ) です。

あなたは AA に対して次の操作を 00 回以上何度でも行うことができます。

  • 隣り合う 22 つの整数組 (a,b),(c,d)(a, b), (c, d) を自由に選び、その間に (a+c,b+d)(a + c, b + d) を挿入する。

整数組の列 TT について、 f(T)f(T) を以下のように定義します。

  • f(T)=f(T) = ( TT の要素がすべて AA に含まれる状態になるまでに必要な最小の操作回数 ) とする。- 「 TT の要素がすべて AA に含まれる状態」とは、全ての TT に含まれる要素 xx について、 xx が ( AA に含まれる要素の集合 ) に含まれることを指す。
  • TT の要素がすべて AA に含まれる状態」とは、全ての TT に含まれる要素 xx について、 xx が ( AA に含まれる要素の集合 ) に含まれることを指す。
  • ただし、そのような操作が存在しない場合 f(T)=0f(T) = 0 とする。

NN 個の整数組からなる列 S=((a1,b1),(a2,b2),,(aN,bN))S = ((a_1, b_1), (a_2, b_2), \dots, (a_N, b_N)) があります。また、 SS の要素は相異なります。 SS の連続部分列 $S_{l,r}=((a_l,b_l),(a_{l+1},b_{l+1}),\dots,(a_r,b_r))$ として考えられるものは N×(N+1)2\frac{N \times (N+1)}{2} 通りありますが、それらに対する f(Sl,r)f(S_{l,r}) の総和を 998244353998244353 で割った余りを求めてください。 より正確には、 $\displaystyle \sum^{N} _ {l=1} \sum^{N} _ {r=l} f(S_{l,r})$ を 998244353998244353 で割った余りを求めてください。

制約

  • 1N1051 \le N \le 10^5
  • 0ai,bi1090 \le a_i,b_i \le 10^9
  • iji \neq j ならば、 aiaja_i \neq a_j または bibjb_i \neq b_j

入力

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

NN

a1a_1 b1b_1

a2a_2 b2b_2

\dots

aNa_N bNb_N

出力

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

7
1 2
3 7
3 5
0 0
1000000000 1
0 1
6 3
3511324
  • f(S1,1)=2f(S_{1,1})=2 です。- $((0,1),(1,0)) \rightarrow ((0,1),(1,1),(1,0)) \rightarrow ((0,1),(1,2),(1,1),(1,0))$ と操作をすればよいです。
  • $((0,1),(1,0)) \rightarrow ((0,1),(1,1),(1,0)) \rightarrow ((0,1),(1,2),(1,1),(1,0))$ と操作をすればよいです。
  • f(S1,2)=5f(S_{1,2})=5 です。
  • f(S1,3)=7f(S_{1,3})=7 です。
  • f(S2,2)=5f(S_{2,2})=5 です。
  • f(S2,3)=7f(S_{2,3})=7 です。
  • f(S3,3)=4f(S_{3,3})=4 です。
  • f(S5,5)=1000000000=109f(S_{5,5})=1000000000 = 10^9 です。
  • f(S5,6)=1000000000=109f(S_{5,6})=1000000000 = 10^9 です。
  • f(S6,6)=0f(S_{6,6})=0 です。- (0,1)(0,1) は元から AA に含まれています。
  • (0,1)(0,1) は元から AA に含まれています。
  • 上述されていない Sl,rS_{l,r} について、 f(Sl,r)=0f(S_{l,r})=0 です。- AA にどのように操作を行っても、 (0,0)(0,0)(6,3)(6,3) が含まれる状態にはできないことが証明できます。
  • AA にどのように操作を行っても、 (0,0)(0,0)(6,3)(6,3) が含まれる状態にはできないことが証明できます。

以上より、 f(Sl,r)f(S_{l,r}) の総和は 2000000030=2×109+302000000030 = 2 \times 10^9 + 30 であり、それを 998244353998244353 で割った余りは 35113243511324 です。