平面上有 $n$ 个两两不同的点 ($n \ge 3$)。由这些点中任意三个不同的点组成的三角形共有 $\frac {n\cdot (n-1)\cdot (n-2)}{6}$ 个(包括退化三角形,即三点共线的情况)。
我们希望计算所有以这些点为顶点的三角形的面积之和。
如果平面上的某一部分区域属于多个三角形,则该区域的面积应被计算多次。我们假设退化三角形(即顶点共线的三角形)的面积为零。
任务
编写一个程序:
- 从标准输入读取平面上点的坐标,
- 计算所有以这些点为顶点的三角形的面积之和,
- 将结果输出到标准输出。
输入格式
标准输入的第一行包含一个整数 $n$ ($3 \le n \le 3\,000$),表示点的数量。接下来的 $n$ 行,每行包含两个整数 $x_i$ 和 $y_i$ ($0 \le x_i, y_i \le 10\,000$),由一个空格分隔,表示第 $i$ 个点的坐标($i=1, 2, \dots, n$)。输入的坐标对不会重复。
输出格式
标准输出的第一行应输出一个实数,等于所有以这些点为顶点的三角形的面积之和。结果应保留小数点后一位,且与正确答案的误差不超过 $0.1$。
样例
输入格式 1
5 0 0 1 2 0 2 1 0 1 1
输出格式 1
7.0