Description
AtCoder 的共和国位于直角坐标平面上。
它有 N 个城镇,编号为 1,2,…,N 。城镇 i 位于 (xi,yi) ,没有两个不同的城镇位于相同的坐标上。
国家中有传送法术。咒语由一对整数 (a,b) 标识,在坐标 (x,y) 处施放咒语 (a,b) 可将您传送到 (x+a,y+b) 。
斯努克是一位伟大的魔法师,他可以学习任意一对整数 (a,b) 的咒语 (a,b) 。他可以学习的咒语数量也是无限的。
为了能够使用咒语在城镇之间穿梭,他决定学习一定数量的咒语,这样就可以在每一对不同的城镇 (i,j) 中做到以下几点。
- 在所学的法术中选择个法术。然后,重复使用*选中的咒语,从城镇 i 到达城镇 j 。
斯努克至少需要学习多少个咒语才能实现上述目标?
第一行输入一个整数 n
接下来 n 行每行输入两个整数 xi,yi
Output
输出一个整数
Samples
3
1 2
3 6
7 4
6
3
1 2
2 2
4 2
2
4
0 0
0 1000000000
1000000000 0
1000000000 1000000000
8
Sample explain 1
下图显示了城镇的位置(以及四个角的坐标)。

如果斯努克学会了下面的六个咒语,那么每对 (i,j) (i=j) 使用一次咒语,他就能从城镇 i 到达城镇 j ,从而实现他的目标。
- (2,4)
- (−2,−4)
- (4,−2)
- (−4,2)
- (−6,−2)
- (6,2)
另一种方法是学习下面的六种法术。在这种情况下,他可以从城镇 i 到城镇 j ,每对 (i,j) 使用其中一个咒语两次,就可以实现目标。 (i=j) ,实现他的目标。
- (1,2)
- (−1,−2)
- (2,−1)
- (−2,1)
- (−3,−1)
- (3,1)
没有少于六个咒语的咒语组合能达到目标,所以我们应该打印 6 。
Limitation
- 2≤N≤500
- 0≤xi≤109 (1≤i≤N)
- 0≤yi≤109 (1≤i≤N)
- (xi,yi)=(xj,yj) 如果 i=j 。