Triangulation
题号:NC202852
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Rose is no longer satisfied by math, so she lets Jack start to learn geometry.

Today they work on such a problem: Given a simple polygon of n vertices on a plane, how many different triangulations of this polygon are there? The answer needs to module .

: A polygon that does not intersect itself and has no holes.

: An edge set contains diagonal lines, and these lines only intersect at polygon vertices. These lines separate a simple polygon into triangles.

输入描述:

The first line contains one integer  () --- the number of vertices.

The next lines contain the coordinates of the polygon vertices, where the -th line contains two integers x_i, y_i () --- the coordinates of the polygon's -th vertex. The vertices are given clockwise or counterclockwise.

It is guaranteed that no three vertices are collinear.

输出描述:

Output one integer in one line --- the number of different triangulations module .
示例1

输入

复制
6
0 10
2 6
5 3
4 1
10 0
0 0

输出

复制
3