#1519. [ABC226D] Teleportation

[ABC226D] Teleportation

Description

AtCoder 的共和国位于直角坐标平面上。 它有 NN 个城镇,编号为 1,2,,N1,2,\dots,N 。城镇 ii 位于 (xi,yi)(x_i, y_i) ,没有两个不同的城镇位于相同的坐标上。

国家中有传送法术。咒语由一对整数 (a,b)(a,b) 标识,在坐标 (x,y)(x, y) 处施放咒语 (a,b)(a, b) 可将您传送到 (x+a,y+b)(x+a, y+b)

斯努克是一位伟大的魔法师,他可以学习任意一对整数 (a,b)(a, b) 的咒语 (a,b)(a, b) 。他可以学习的咒语数量也是无限的。 为了能够使用咒语在城镇之间穿梭,他决定学习一定数量的咒语,这样就可以在每一对不同的城镇 (i,j)(i, j) 中做到以下几点。

  • 在所学的法术中选择个法术。然后,重复使用*选中的咒语,从城镇 ii 到达城镇 jj

斯努克至少需要学习多少个咒语才能实现上述目标?

Format

Input

第一行输入一个整数 nn

接下来 nn 行每行输入两个整数 xi,yix_i,y_i

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

下图显示了城镇的位置(以及四个角的坐标)。

image

如果斯努克学会了下面的六个咒语,那么每对 (i,j)(i,j) (ij)(i \neq j) 使用一次咒语,他就能从城镇 ii 到达城镇 jj ,从而实现他的目标。

  • (2,4)(2, 4)
  • (2,4)(-2, -4)
  • (4,2)(4, -2)
  • (4,2)(-4, 2)
  • (6,2)(-6, -2)
  • (6,2)(6, 2)

另一种方法是学习下面的六种法术。在这种情况下,他可以从城镇 ii 到城镇 jj ,每对 (i,j)(i,j) 使用其中一个咒语两次,就可以实现目标。 (ij)(i \neq j) ,实现他的目标。

  • (1,2)(1, 2)
  • (1,2)(-1, -2)
  • (2,1)(2, -1)
  • (2,1)(-2, 1)
  • (3,1)(-3, -1)
  • (3,1)(3, 1)

没有少于六个咒语的咒语组合能达到目标,所以我们应该打印 66

Limitation

  • 2N5002 \leq N \leq 500
  • 0xi1090 \leq x_i \leq 10^9 (1iN)(1 \leq i \leq N)
  • 0yi1090 \leq y_i \leq 10^9 (1iN)(1 \leq i \leq N)
  • (xi,yi)(xj,yj)(x_i, y_i) \neq (x_j, y_j) 如果 iji \neq j