#AT2348. Ex - Inv(0,1)ving Insert(1,0)n

Ex - Inv(0,1)ving Insert(1,0)n

当前没有测试数据。

细致不可知的插入操作

得分:600分

问题描述

我们有一个由整数对组成的序列AA。初始时,A=((0,1),(1,0))A = ((0, 1), (1, 0))

你可以对AA执行以下操作任意次(可以是零次):

  • 选择相邻的两个整数对(a,b)(a, b)(c,d)(c, d),并在它们之间插入(a+c,b+d)(a+ c, b + d)

对于由整数对组成的序列TT,我们定义f(T)f(T)如下:

  • 定义f(T)f(T)为使TT中的每个元素都包含在AA中所需的最小操作次数。
    • 如果没有这样的操作,则f(T)=0f(T) = 0

现在给定一个由NN个整数对组成的序列S=((a1,b1),(a2,b2),...,(aN,bN))S = ((a_1, b_1), (a_2, b_2), ..., (a_N, b_N)),其中SS的所有元素都是两两不同的。SS共有N×(N+1)2\frac{N \times (N+1)}{2}个可能的连续子数组$S_{l,r}=((a_l,b_l),(a_{l+1},b_{l+1}),...,(a_r,b_r))$。请计算所有这些子数组Sl,rS_{l,r}中的f(Sl,r)f(S_{l,r})的和,对998244353998244353取模。

输入

输入以以下格式从标准输入中给出:

NN

a1a_1 b1b_1

a2a_2 b2b_2

...

aNa_N bNb_N

输出

输出一个整数,表示答案。

示例

输入1

7
1 2
3 7
3 5
0 0
1000000000 1
0 1
6 3

输出1

3511324

【解释】对于每个Sl,rS_{l,r},其对应的f(Sl,r)f(S_{l,r})的值如下:

  • f(S1,1)=2f(S_{1,1})=2:我们可以通过插入操作从((0,1),(1,0))((0,1),(1,0))得到((0,1),(1,1),(1,0))((0,1),(1,1),(1,0)),再得到((0,1),(1,2),(1,1),(1,0))((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中。
  • 对于未被提及的Sl,rS_{l,r}f(Sl,r)=0f(S_{l,r})=0:我们可以证明,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