#arc082c. [arc082_c]ConvexScore
[arc082_c]ConvexScore
题目描述
给定二维平面上的 个点 。考虑一个由这 个点构成的子集 ,使它们形成一个凸多边形。这里,我们说一个点集 形成了一个凸多边形,当存在一个面积大于 的凸多边形,他们的顶点与点集 相同,并且多边形内的所有角度都严格小于 。
例如,在上面的图中,{} 和 {} 形成凸多边形;{}、{}、{}、{} 和 {} 不是。
对于给定的集合 ,设 为 个点中在 的凸包(包括边界和顶点)内的点的个数。那么,我们将 的 得分 定义为 。
计算所有可能形成凸多边形的集合 的得分之和,并将其对 取模。
约束条件
- 若 , 或 。
- 和 为整数。
输入格式
输入通过标准输入给出,格式如下:
输出格式
打印得分之和对 取模的结果。
示例输入1
4
0 0
0 1
1 0
1 1
示例输出1
5
总共有五个可能的集合 ,其中四个形成三角形,一个形成正方形。它们的得分都是 ,因此答案是 。
示例输入2
5
0 0
0 1
0 2
0 3
1 1
示例输出2
11
总共有三个得分为 的"三角形",两个得分为 的"三角形",以及一个得分为 的"三角形"。因此,答案是 。
示例输入3
1
3141 2718
示例输出3
0
没有可能的集合 ,所以答案是 。