#P6149. [USACO20FEB] Triangles S

[USACO20FEB] Triangles S

题目描述

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

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

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

输入格式

第一行包含 NN

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

输出格式

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

4
0 0
0 1
1 0
1 2
3

提示

样例解释:

栅栏木桩 (0,00,0)、(1,01,0) 和 (1,21,2) 组成了一个面积为 11 的三角形,(0,00,0)、(1,01,0) 和 (0,10,1) 组成了一个面积为 0.50.5 的三角形。所以答案为 2×(1+0.5)=32\times (1+0.5)=3

子任务:

  • 测试点 22 满足 N=200N=200
  • 测试点 33-44 满足 N5000N\leq 5000
  • 测试点 55-1010 没有额外限制。