atcoder#ARC082C. [ARC082E] ConvexScore

[ARC082E] ConvexScore

Score : 700700 points

Problem Statement

You are given NN points (xi,yi)(x_i,y_i) located on a two-dimensional plane. Consider a subset SS of the NN points that forms a convex polygon. Here, we say a set of points SS forms a convex polygon when there exists a convex polygon with a positive area that has the same set of vertices as SS. All the interior angles of the polygon must be strictly less than 180180^\circ.

cddb0c267926c2add885ca153c47ad8a.png

For example, in the figure above, {A,C,EA,C,E} and {B,D,EB,D,E} form convex polygons; {A,C,D,EA,C,D,E}, {A,B,C,EA,B,C,E}, {A,B,CA,B,C}, {D,ED,E} and {} do not.

For a given set SS, let nn be the number of the points among the NN points that are inside the convex hull of SS (including the boundary and vertices). Then, we will define the score of SS as 2nS2^{n-|S|}.

Compute the scores of all possible sets SS that form convex polygons, and find the sum of all those scores.

However, since the sum can be extremely large, print the sum modulo 998244353998244353.

Constraints

  • 1N2001 \leq N \leq 200
  • 0xi,yi<104(1iN)0 \leq x_i,y_i<10^4 (1 \leq i \leq N)
  • If iji \neq j, xixjx_i \neq x_j or yiyjy_i \neq y_j.
  • xix_i and yiy_i are integers.

Input

The input is given from Standard Input in the following format:

NN

x1x_1 y1y_1

x2x_2 y2y_2

::

xNx_N yNy_N

Output

Print the sum of all the scores modulo 998244353998244353.

4
0 0
0 1
1 0
1 1
5

We have five possible sets as SS, four sets that form triangles and one set that forms a square. Each of them has a score of 20=12^0=1, so the answer is 55.

5
0 0
0 1
0 2
0 3
1 1
11

We have three "triangles" with a score of 11 each, two "triangles" with a score of 22 each, and one "triangle" with a score of 44. Thus, the answer is 1111.

1
3141 2718
0

There are no possible set as SS, so the answer is 00.