#43965. 画圆
画圆
暂无测试数据。
蒜头君有 $n$ 个点,编号为 $1 \sim n$ ,编号为 $i$ 个点的坐标为 $(x_i, y_i)$ ,蒜头君想画 $n$ 个圆,每个圆都是以圆点 $(0, 0)$ 为圆心的,每个圆分别过这 $n$ 个点中的一个。要求圆与圆不重叠,当然保证蒜头君的 $n$ 个点到原点的距离也各不相同。
蒜头君希望由小到大画这些圆,所以他会先画半径最小的圆,再画半径第二小的圆,以此类推。
当蒜头君画第 $i$ 个圆的时候,设这个圆经过的点的编号为 $j$ ,则蒜头君需要花费这个圆半径的平方乘 $(i + j)$ 的精力。
求按这样画法,蒜头君需要花费的总精力。
输入格式
输入第一行,包含一个整数 $n(1 \leq n \leq 10 ^ 5)$ 。
接下来 $n$ 行,每行包含两个整数 $(x_i, y_i)(1 \leq x_i, y_i \leq 10 ^ 6)$ 表示第 $i$ 个点的坐标,保证任意两点距离原点的距离不同。
输出格式
输出一行,包含 $1$ 个整数,表示蒜头君需要花费的总精力。
由于答案可能很大,只需要输出答案对 $10 ^ 9 + 7$ 取模的结果。
数据范围
对于 $60\%$ 的数据,$1 \leq n \leq 10 ^ 3, 1 \leq x_i, y_i \leq 10 ^ 3$
对于 $100\%$ 的数据,$1 \leq n \leq 10 ^ 5, 1 \leq x_i, y_i \leq 10 ^ 6$
3
1 2
1 3
2 2
100