#5499. [USACO21OPEN] Permutation G

[USACO21OPEN] Permutation G

题目描述

Bessie 在二维平面上有 NN 个最爱的不同的点,其中任意三点均不共线。对于每一个 1≤i≤N1\le i\le N,第 ii 个点可以用两个整数 xix_i 和 yiy_i 表示。

Bessie 按如下方式在这些点之间画一些线段:

    1. 她选择这 NN 个点的某个排列 p1,p2,…,pNp_1,p_2,\dots,p_N 。
    1. 她在点 p1p_1 和 p2p_2 、p2p_2 和 p3p_3、p3p_3 和 p1p_1 之间画上线段。
    1. 然后依次对于从 44 到 NN 的每个整数 ii,对于所有 j<ij<i,她从 pip_i 到 pjp_j 画上一条线段,只要这条线段不与任何已经画上的线段相交(端点位置相交除外)。

Bessie 注意到对于每一个 ii ,她都画上了恰好三条新的线段。计算 Bessie 在第 11 步可以选择的满足上述性质的排列的数量,结果对 109+710^9+7 取模。

输入格式

输入的第一行包含 NN。

以下 NN 行,每行包含两个空格分隔的整数 xix_i 和 yiy_i。

输出格式

输出一行一个整数表示方案数对 109+710^9+7 取模后的结果。

输入输出样例 #1

输入 #1


4

0 0

0 4

1 1

1 2

输出 #1


0

输入输出样例 #2

输入 #2


4

0 0

0 4

4 0

1 1

输出 #2


24

输入输出样例 #3

输入 #3


5

0 0

0 4

4 0

1 1

1 2

输出 #3


96

说明/提示

样例一解释

没有排列满足该性质

样例二解释

所有排列均满足该性质

样例解释三

一个满足该性质的排列为 (0,0),(0,4),(4,0),(1,2),(1,1)(0,0),(0,4),(4,0),(1,2),(1,1) 。对于这个排列,

  • 首先,她在 (0,0),(0,4)(0,0),(0,4) 和 (4,0)(4,0) 两两之间画上线段。

  • 然后她从 (1,2)(1,2) 向 (0,0)(0,0) ,(0,4)(0,4) 和 (4,0)(4,0) 画上线段。

  • 最后,她从 (1,1)(1,1) 向 (1,2)(1,2) ,(4,0)(4,0) 和 (0,0)(0,0) 画上线段。

数据范围与约定

3≤N≤403\le N \le 40,0≤xi,yi≤1040\le x_i,y_i \le 10^4