编程题
### 问题描述
小齐在二维网格上有 $N$ 个喜欢的不同点,这些点没有三点共线。对于每个 $1 \leq i \leq N$,第 $i$ 个点由两个整数 $x_i$ 和 $y_i$ 表示。
小齐按照以下方式在点之间绘制一些线段。
选择 $N$ 个点的某个排列 $p_1, p_2, \ldots, p_N$。
绘制线段 $p_1 \rightarrow p_2$,$p_2 \rightarrow p_3$ 和 $p_3 \rightarrow p_1$。
然后,对于每个整数 $i$,从 $4$ 到 $N$ 按顺序,绘制从 $p_i$ 到 $p_j$ 的线段,其中 $j < i$ 且该线段不与先前绘制的任何线段相交(除了端点处相交)。
小齐注意到对于每个 $i$,她正好绘制了三条新线段。计算满足此属性的可能排列 $p_1, p_2, \ldots, p_N$ 的数量,对 $10^9 + 7$ 取模。
### 输入格式
第一行包含整数 $N$。
接下来的 $N$ 行,每行包含两个用空格分隔的整数 $x_i$ 和 $y_i$。
### 输出格式
一行,包含在第一步中小齐可能选择的排列数量对 $10^9 + 7$ 取模后的结果。
### 样例输入
```
4
0 0
0 4
1 1
1 2
```
### 样例输出
```
0
```
### 评测数据规模
$3 \leq N \leq 40$,$0 \leq x_i, y_i \leq 10^4$。