3171.The Child and Polygon

Time Limit: 1s Memory Limit: 256MB

This time our child has a simple polygon. He has to find the number of ways to split the polygon into non-degenerate triangles, each way must satisfy the following requirements: each vertex of each triangle is one of the polygon vertex; each side of the polygon must be the side of exactly one triangle; the area of intersection of every two triangles equals to zero, and the sum of all areas of triangles equals to the area of the polygon; each triangle must be completely inside the polygon; each side of each triangle must contain exactly two vertices of the polygon. The picture below depicts an example of a correct splitting. 3171_1.png Please, help the child. Calculate the described number of ways modulo 1000000007 (109+7) for him.

Input Format(From the terminal/stdin)

Input The first line contains one integer n (3 \le n \le 200) - the number of vertices of the polygon. Then follow n lines, each line containing two integers. The i-th line contains xi,yi (|xi|,|yi| \le 107) - the i-th vertex of the polygon in clockwise or counterclockwise order.It's guaranteed that the polygon is simple.

Output Format(To the terminal/stdout)

Output Output the number of ways modulo 1000000007 (109+7).

Sample Input 1

Copy
4
0 0
0 1
1 1
1 0
 \n
 · \n
 · \n
 · \n
 · \n

Sample Output 1

Copy
2
 \n

Sample Input 2

Copy
4
0 0
1 0
0 1
-1 0
 \n
 · \n
 · \n
 · \n
  · \n

Sample Output 2

Copy
1
 \n

Sample Input 3

Copy
5
0 0
1 0
1 1
0 1
-2 -1
 \n
 · \n
 · \n
 · \n
 · \n
  ·  \n

Sample Output 3

Copy
3
 \n

Hints

In the first sample, there are two possible splittings: 3171_2.png In the second sample, there are only one possible splitting: 3171_3.png

Submit

请先 登录

© 2025 FAQs