2125: 【2018冬令营深搜】奶牛看病(Connect the Cows)

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

每天,农夫约翰都要去给他的N头奶牛去检查健康状况。每头奶牛的位置可以用一个二维坐标来表示。约翰总是从(0,0)出发给奶牛们去看病,为了使得他的路程更加的有趣,约翰决定他只能走平行于坐标轴的线路。也就是说,约翰每次只能向东南西北四个方向行走。值得注意的是,他每次只在奶牛的坐标点上改变行走的方向(当然他也可以不改变方向)。当他改变方向时,他可以转90度或者180度的弯。最后,约翰必须要回到起点。 

请帮助约翰计算有多少种不同的走法从起点遍历所有奶牛的点最后回到起点的路径。途中,约翰必须在每个奶牛的坐标点上改变一次行走方向。同时,也允许他不改变行走方向通过奶牛的坐标点任意多次。不同的路径指的是经过的点的顺序不一样。

Input


第一行一个整数N。

接下来N行,每行两个整数,表示奶牛的坐标。

Output

只有一行一个整数,表示路径的总数。

Sample Input Copy

4 
0 1
2 1 
2 0 
2 -5

Sample Output Copy

2

HINT

数据范围:1<=N<=10,坐标的绝对值不超过1000

说明:样例中,约翰的两种走法分别是1-2-4-33-4-2-1,最后回到起点。

Source/Category