小红的好矩形
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小红定义一个两边平行于坐标轴的矩形是“好矩形”,当且仅当其长或宽为 1
\hspace{15pt}现给出平面直角坐标系中的 n 个互不相同的整点。小红想知道,在其中选四个不同的点作为矩形的顶点,能构成多少个不同的好矩形。
\hspace{15pt}对于两个矩形 ABCD,EFGH ,称二者不同当且仅当 \{A,B,C,D\}\ne\{E,F,G,H\}

输入描述:

\hspace{15pt}第一行输入一个整数 n \left(1 \leqq n \leqq 2\times10^5 \right)
\hspace{15pt}之后的 n 行,第 i 行输入两个整数 x_i,y_i \left(-10^9 \leqq x_i,y_i \leqq 10^9 \right) 代表第 i 个点的坐标。

输出描述:

输出一个整数,代表能组成好矩形的数量。
示例1

输入

复制
8
0 0
0 1
1 0
2 0
3 0
3 1
1 2
2 2

输出

复制
2

说明

\hspace{15pt}在这个样例中,输入的点如下图所示:
好矩形