#arc082c. [arc082_c]ConvexScore

[arc082_c]ConvexScore

题目描述

给定二维平面上的 NN 个点 (xi,yi)(x_i,y_i)。考虑一个由这 NN 个点构成的子集 SS,使它们形成一个凸多边形。这里,我们说一个点集 SS 形成了一个凸多边形,当存在一个面积大于 00 的凸多边形,他们的顶点与点集 SS 相同,并且多边形内的所有角度都严格小于 180°180°

cddb0c267926c2add885ca153c47ad8a.png

例如,在上面的图中,{A,C,EA,C,E} 和 {B,D,EB,D,E} 形成凸多边形;{A,C,D,EA,C,D,E}、{A,B,C,EA,B,C,E}、{A,B,CA,B,C}、{D,ED,E} 和 {} 不是。

对于给定的集合 SS,设 nnNN 个点中在 SS 的凸包(包括边界和顶点)内的点的个数。那么,我们将 SS得分 定义为 2nS2^{n-|S|}

计算所有可能形成凸多边形的集合 SS 的得分之和,并将其对 998244353998244353 取模。

约束条件

  • 1N2001≤N≤200
  • 0xi,yi<104(1iN)0≤x_i,y_i<10^4 (1≤i≤N)
  • iji≠jxixjx_i≠x_jyiyjy_i≠y_j
  • xix_iyiy_i 为整数。

输入格式

输入通过标准输入给出,格式如下:

NN x1x_1 y1y_1 x2x_2 y2y_2 :: xNx_N yNy_N

输出格式

打印得分之和对 998244353998244353 取模的结果。


示例输入1

4
0 0
0 1
1 0
1 1

示例输出1

5

总共有五个可能的集合 SS,其中四个形成三角形,一个形成正方形。它们的得分都是 20=12^0=1,因此答案是 55


示例输入2

5
0 0
0 1
0 2
0 3
1 1

示例输出2

11

总共有三个得分为 11 的"三角形",两个得分为 22 的"三角形",以及一个得分为 44 的"三角形"。因此,答案是 1111


示例输入3

1
3141 2718

示例输出3

0

没有可能的集合 SS,所以答案是 00