#5177. Problem 2. Triangles

0

Problem 2. Triangles

Problem 2. Triangles

USACO 2020 February Contest, Silver

Farmer John 想要给他的奶牛们建造一个三角形牧场。

NN3N1053\le N\le 10^5)个栅栏柱子分别位于农场的二维平面上不同的点 (X1,Y1)(XN,YN)(X_1, Y_1) \ldots (X_N, Y_N)。他可以选择其中三个点组成三角形牧场,只要三角形有一条边与 xx 轴平行,且有另一条边与 yy 轴平行。

FJ 可以组成的所有可能的牧场的面积之和等于多少?

测试点性质: 测试点 2 满足 N=200N=200。测试点 3-4 满足 N5000N\le 5000。测试点 5-10 没有额外限制。

输入格式(文件名:triangles.in):

第一行包含 NN

以下 NN 行每行包含两个整数 XiX_iYiY_i,均在范围 104104-10^4 \ldots 10^4 之内,描述一个栅栏柱子的位置。

输出格式(文件名:triangles.out):

由于面积之和不一定为整数且可能非常大,输出面积之和的两倍模 109+710^9+7 的余数。

输入样例:


4
0 0
0 1
1 0
1 2

输出样例:


3

栅栏木桩 (0,0)(0,0)(1,0)(1,0)(1,2)(1,2) 组成了一个面积为 11 的三角形,(0,0)(0,0)(1,0)(1,0)(0,1)(0,1) 组成了一个面积为 0.50.5 的三角形。所以答案为 2(1+0.5)=32\cdot (1+0.5)=3

供题:Travis Hance,Nick Wu