#1499. [L2-1] 直角三角形

内存限制:512 MiB 时间限制:2000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: hwpvector

题目描述

在二维平面直角坐标系上,如果一个三角形,该三角形是直角三角形,且有一条边平行于 xx 轴,另外一条边平行于 yy 轴,则称该三角形是好的.

给定 nn 个坐标 (x1,y1),(x2,y2),,(xn,yn)(x_1,y_1), (x_2,y_2), \cdots, (x_n,y_n). 保证这些坐标两两不同.

求满足以下条件的 (i,j,k)(i,j,k) 的数量:

  • 1i<j<kn1\le i<j<k\le n.

  • (xi,yi)(x_i,y_i)(xj,yj)(x_j,y_j)(xk,yk)(x_k,y_k) 三个顶点构成的三角形是好的.

两个 (i1,j1,k1)(i_1,j_1,k_1)(i2,j2,k2)(i_2,j_2,k_2) 是不同的,当且仅当 i1i2i_1\not= i_2 或者 j1j2j_1\not= j_2 或者 k1k2k_1\not= k_2.

输入格式

第一行包含一个正整数 nn.

接下来 nn 行,每行包含两个正整数 xi,yix_i,y_i,表示第 ii 个坐标为 (xi,yi)(x_i,y_i).

输出格式

输出一行,包含一个非负整数,表示满足条件的 (i,j,k)(i,j,k) 的数量.

样例

输入样例 1
4
1 2
1 3
2 3
2 4
输出样例 1
2
样例解释 1

有且仅有 (1,2,3)(1,2,3)(2,3,4)(2,3,4) 满足条件.

输入样例 2
7
6 10
10 10
10 9
6 1
1 9
1 10
10 1
输出样例 2
14

数据范围与提示

1n2×1051\le n\le 2\times 10^51xi,yi1091\le x_i,y_i\le 10^9.

保证给定的坐标两两不同.