4901: 画圆
[Creator : ]
Description
现在有 nnn 个点,编号为 1∼n1 \sim n1∼n ,编号为 iii 个点的坐标为 (xi , yi )(x_i , y_i )(xi , yi ) ,我们想画 nnn 个圆,每个圆都是以圆点 (0,0)(0, 0)(0,0) 为圆心的,每个圆分别过这 nnn 个点中的一个。要求圆与圆不重叠,当然保证 nnn 个点到原点的距离也各不相同。
我们希望由小到大画这些圆,所以会先画半径最小的圆,再画半径第二小的圆,以此类推。
当画第 iii 个圆的时候,设这个圆经过的点的编号为 jjj ,则需要花费这个圆半径的平方乘 (i+j)(i + j)(i+j) 的精力。
求按这样画法,需要花费的总精力。
我们希望由小到大画这些圆,所以会先画半径最小的圆,再画半径第二小的圆,以此类推。
当画第 iii 个圆的时候,设这个圆经过的点的编号为 jjj ,则需要花费这个圆半径的平方乘 (i+j)(i + j)(i+j) 的精力。
求按这样画法,需要花费的总精力。
Input
输入第一行,包含一个整数 n(1≤n≤105)n(1 \leq n \leq 10 ^ 5)n(1≤n≤105) 。
接下来 nnn 行,每行包含两个整数 (xi,yi)(1≤xi,yi≤106)(x_i, y_i)(1 \leq x_i, y_i \leq 10 ^ 6)(xi,yi)(1≤xi,yi≤106) 表示第 iii 个点的坐标,保证任意两点距离原点的距离不同。
接下来 nnn 行,每行包含两个整数 (xi,yi)(1≤xi,yi≤106)(x_i, y_i)(1 \leq x_i, y_i \leq 10 ^ 6)(xi,yi)(1≤xi,yi≤106) 表示第 iii 个点的坐标,保证任意两点距离原点的距离不同。
Output
输出一行,包含 111 个整数,表示需要花费的总精力。
由于答案可能很大,只需要输出答案对 109+710 ^ 9 + 7109+7 取模的结果。
由于答案可能很大,只需要输出答案对 109+710 ^ 9 + 7109+7 取模的结果。
Sample 1 Input
3
1 2
1 3
2 2
Sample 1 Output
100