Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ACM-ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

E. The Child and Polygon

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputThis 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.

Please, help the child. Calculate the described number of ways modulo 1000000007 (10^{9} + 7) for him.

Input

The first line contains one integer *n* (3 ≤ *n* ≤ 200) — the number of vertices of the polygon. Then follow *n* lines, each line containing two integers. The *i*-th line contains *x*_{i}, *y*_{i} (|*x*_{i}|, |*y*_{i}| ≤ 10^{7}) — the *i*-th vertex of the polygon in clockwise or counterclockwise order.

It's guaranteed that the polygon is simple.

Output

Output the number of ways modulo 1000000007 (10^{9} + 7).

Examples

Input

4

0 0

0 1

1 1

1 0

Output

2

Input

4

0 0

1 0

0 1

-1 0

Output

1

Input

5

0 0

1 0

1 1

0 1

-2 -1

Output

3

Note

In the first sample, there are two possible splittings:

In the second sample, there are only one possible splitting:

Codeforces (c) Copyright 2010-2019 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Mar/20/2019 11:23:55 (f2).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|