题目描述
Problem Statement
We have $N points P_1, P_2, \dots, P_N on a$ plane. The coordinates of P_i is (X_i, Y_i). We know that no three points lie on the same line.
For a subset S of ${ P_1, P_2, \dots, P_N$ } with at least three elements, let us define the convex hull of S as follows:
- The convex hull is the convex polygon with the minimum area such that every point of S is within or on the circumference of that polygon.
Find the number, modulo (10^9 + 7), of subsets S such that the area of the convex hull is an integer.
Input
Input is given from Standard Input in the following format:
N
X_1 Y_1
X_2 Y_2
$\vdots$
X_N Y_N
Output
Print the answer. Note that you are asked to find the count modulo (10^9 + 7).
Constraints
- $3 \leq N \leq 80$
- $0 \leq |X_i|, |Y_i| \leq 10^4$
- No three points lie on the same line.
- All values in input are integers.
Sample Input 1
4
0 0
1 2
0 1
1 0
Sample Output 1
2
{ P_1, P_2, P_4 } and { P_2, P_3, P_4 } satisfy the condition.
Sample Input 2
23
-5255 7890
5823 7526
5485 -113
7302 5708
9149 2722
4904 -3918
8566 -3267
-3759 2474
-7286 -1043
-1230 1780
3377 -7044
-2596 -6003
5813 -9452
-9889 -7423
2377 1811
5351 4551
-1354 -9611
4244 1958
8864 -9889
507 -8923
6948 -5016
-6139 2769
4103 9241
Sample Output 2
4060436
输入格式
见题面 Input 部分
输出格式
见题面 Output 部分