Problem2749--Connect the Cows[USACO-2012-Mar-B]

2749: Connect the Cows[USACO-2012-Mar-B]

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 1  Solved: 1
[Status] [Submit] [Creator:]

Description

Farmer John每天都在他的农场里走来走去检查他的N(1≤N≤10)头奶牛的健康状况。
把每头牛的位置看做是二维平面的一个点,FJ从起点(0,0)开始出发。为了让整个过程更加有趣,FJ走路的方向始终是沿着平行于坐标轴的方向的,也就是说他走路的方向只有正东,正南,正西,正北。
此外,只有当FJ达到一头牛的位置的时候,他才会改变自己走路的方向,当然他也可以选择不改变方向。当他改变方向的时候,他可以进90度或者180度方向改变。当FJ检查完所有的奶牛后,必须回到原点。
请计算出,如果在每头牛的位置都最多改变一次方向(或者不改变方向),那么FJ完成所有牛的检查,一共有多少种不同的路线?注意相同的路径向前和向后计算为两条不同的路线。

Input

第一行,一个整数N,表示奶牛的数量(1≤N≤10)
接下来N行,每行两个整数x和y,表示一头牛的坐标,每个整数的范围是-1000到1000

Output

输出一行,一个整数,表示FJ不同的路线数量

Sample Input Copy

4
0 1
2 1
2 0
2 -5

Sample Output Copy

2

HINT

样例说明:
一共有两条不同的路线,分别是1->2->4->3和3->4->2->1

Source/Category