#arc065c. [arc065_c]Manhattan Compass

[arc065_c]Manhattan Compass

题目描述

xyxy 平面上有 NN 个针孔,第 ii 个针孔位于 (xi,yi)(x_i, y_i)

我们将第 ii 个和第 jj 个针孔之间的曼哈顿距离记为 d(i,j)(=xixj+yiyj)d(i,j)(=|x_i-x_j|+|y_i-y_j|)

你有一种特殊的指南针,叫做 曼哈顿指南针。这个仪器总是指向两个针孔。指南针的两条腿是无法区分的,因此我们不区分以下两种状态:指南针指向第 pp 和第 qq 个针孔的状态,以及指南针指向第 qq 和第 pp 个针孔的状态。

当指南针指向第 pp 和第 qq 个针孔且 d(p,q)=d(p,r)d(p,q)=d(p,r) 时,其中一条腿可以移动,使得指南针指向第 pp 和第 rr 个针孔。

初始时,指南针指向第 aa 和第 bb 个针孔。找到指南针可以指向的针孔对的数量。

约束条件

  • 2N1052≤N≤10^5
  • 1xi,yi1091≤x_i, y_i≤10^9
  • 1a<bN1≤a < b≤N
  • iji ≠ j 时,(xi,yi)(xj,yj)(x_i, y_i) ≠ (x_j, y_j)
  • xix_iyiy_i 是整数。

输入

输入以以下格式从标准输入给出:

NN aa bb x1x_1 y1y_1 : xNx_N yNy_N

输出

输出指南针可以指向的针孔对的数量。

示例输入 1

5 1 2
1 1
4 3
6 1
5 5
4 8

示例输出 1

4

初始时,指南针指向第一个和第二个针孔。

由于 d(1,2)=d(1,3)d(1,2) = d(1,3),指南针可以移动,使得它指向第一个和第三个针孔。

由于 d(1,3)=d(3,4)d(1,3) = d(3,4),指南针也可以指向第三个和第四个针孔。

由于 d(1,2)=d(2,5)d(1,2) = d(2,5),指南针也可以指向第二个和第五个针孔。

没有其他的针孔对可以被指南针指向,因此答案为 44

示例输入 2

6 2 3
1 3
5 3
3 5
8 4
4 7
2 5

示例输出 2

4

示例输入 3

8 1 2
1 5
4 3
8 2
4 7
8 8
3 3
6 6
4 8

示例输出 3

7