#P17535. [PM13640] NoRightTurn

[PM13640] NoRightTurn

题目描述

平面上有 NN 个互不相同的点,第 ii 个点的坐标为 (xi,yi)(x_i,y_i),保证任意三点不共线。

Roger 要选择一个 0,1,,N10,1,\ldots,N-1 的排列,并按照排列中的顺序依次访问所有点,相邻两个访问点之间沿直线段移动。路径必须同时满足:

  1. 路径不能严格自交,也就是说任意两条互不相邻的路径线段不能在各自内部相交;
  2. Roger 不能右转。对于任意连续访问的三个点 a,b,ca,b,c,有向三角形 abca\to b\to c 必须是严格逆时针方向。

f(i)f(i) 表示以点 ii 作为第一个访问点的合法路径数量。

请输出所有 f(i)f(i),答案对 109+710^9+7 取模。

输入格式

第一行输入整数 NN

接下来 NN 行,第 i+1i+1 行输入两个整数 xi,yix_i,y_i

输出格式

第一行输出整数 NN

第二行输出 NN 个整数 f(0),f(1),,f(N1)f(0),f(1),\ldots,f(N-1),均对 109+710^9+7 取模。

第一行再次输出 NN 是本题从 TopCoder 方法返回值转换为标准输入输出后的数据格式要求。

数据范围

  • 3N1003\le N\le100
  • 1000xi,yi1000-1000\le x_i,y_i\le1000
  • 所有点两两不同;
  • 任意三点不共线。

样例

3
-10 10
0 -10
10 10
3
1 1 1

说明

三个点构成三角形。合法路径分别为 0120\to1\to21201\to2\to02012\to0\to1,因此三个起点的答案均为 11