跳跳

平面上给定了一些整点(横纵坐标均为整数的点),被称为 “魔法阵”。魔法少女派派想要在各魔法阵之间传送,每一次传送,她将使用下面的方式:

  1. 刚开始,派派已经位于某传送阵之上;
  2. 如果派派掌握一种魔法 (A,B)(A, B),其中 A,BA, B 均为整数。使用一次这个魔法可以让派派从任意整点 (X,Y)(X, Y) 瞬间移动至 (X+A,Y+B)(X + A, Y + B)
  3. 选择一种魔法并开始传送,在一次传送过程中可以使用多次该魔法,但在抵达下一个传送阵之前仅能使用这一种魔法

问派派至少需要掌握多少种魔法,才能在从任意魔法阵直接传送到任意魔法阵?

输入格式

第一行一个整数 NN

接下来一行 NN 行,每行包含两个整数 Xi,YiX_i, Y_i, 表示每个魔法阵的坐标。

输出格式

一个数,表示答案。

样例1输入

3
1 1
4 5
1 4

样例1输出

6

解释: 任务是从 (1,1)(1, 1) 传送至 (4,5)(4, 5) 以及 (1,4)(1, 4) 、从 (4,5)(4, 5) 传送至 (1,1)(1, 1) 以及 (1,4)(1, 4) 、从 (1,4)(1, 4) 传送至 (1,1)(1, 1) 以及 (4,5)(4, 5)

注意你不能使用 (0,3)+(3,1)(0, 3) + (3, 1) 的魔法从 (1,1)(1, 1) 到达 (4,5)(4, 5)。因为每次移动,你只能使用一种魔法。

当然,你可以学习 (0,1)(0, 1),那样的话,从 (1,1)(1, 1) 到达 (1,4)(1, 4) 则需要使用 33(0,1)(0, 1) 魔法了。

样例2输入

3
1 1
2 2
1000000000 1000000000

样例2输出

2

数据规模

  • N[10,500]N \in [10, 500]
  • Xi,Yi[0,109]X_i, Y_i \in [0, 10^9], 但保证坐标之间两两不同