#include <bits/stdc++.h>
using namespace std;
const int ZERO = 1000;
const int MAX = ZERO + 1 + ZERO;
bool CS[MAX][MAX];
vector<pair<int, int>> P;
int main()
{
int n;
cin >> n;
while (n--) {
int x, y;
cin >> x >> y;
x += ZERO;
y += ZERO;
CS[y][x] = true;
P.emplace_back(x, y);
}
sort(P.begin(), P.end());
int a = 0;
for (int i = 0; i < (int)P.size(); ++i) {
for (int j = i + 1; j < (int)P.size() && P[i].first == P[j].first; ++j) {
int s = P[j].second - P[i].second;
int x = P[i].first + s;
if (x >= MAX) {
break;
}
int y1 = P[i].second;
int y2 = P[j].second;
if (CS[y1][x] && CS[y2][x]) {
++a;
}
}
}
cout << a << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgWkVSTyA9IDEwMDA7CmNvbnN0IGludCBNQVggPSBaRVJPICsgMSArIFpFUk87Cgpib29sIENTW01BWF1bTUFYXTsKdmVjdG9yPHBhaXI8aW50LCBpbnQ+PiBQOwoKaW50IG1haW4oKQp7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgd2hpbGUgKG4tLSkgewogICAgICAgIGludCB4LCB5OwogICAgICAgIGNpbiA+PiB4ID4+IHk7CiAgICAgICAgeCArPSBaRVJPOwogICAgICAgIHkgKz0gWkVSTzsKICAgICAgICBDU1t5XVt4XSA9IHRydWU7CiAgICAgICAgUC5lbXBsYWNlX2JhY2soeCwgeSk7CiAgICB9CiAgICBzb3J0KFAuYmVnaW4oKSwgUC5lbmQoKSk7CiAgICBpbnQgYSA9IDA7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IChpbnQpUC5zaXplKCk7ICsraSkgewogICAgICAgIGZvciAoaW50IGogPSBpICsgMTsgaiA8IChpbnQpUC5zaXplKCkgJiYgUFtpXS5maXJzdCA9PSBQW2pdLmZpcnN0OyArK2opIHsKICAgICAgICAgICAgaW50IHMgPSBQW2pdLnNlY29uZCAtIFBbaV0uc2Vjb25kOwogICAgICAgICAgICBpbnQgeCA9IFBbaV0uZmlyc3QgKyBzOwogICAgICAgICAgICBpZiAoeCA+PSBNQVgpIHsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGludCB5MSA9IFBbaV0uc2Vjb25kOwogICAgICAgICAgICBpbnQgeTIgPSBQW2pdLnNlY29uZDsKICAgICAgICAgICAgaWYgKENTW3kxXVt4XSAmJiBDU1t5Ml1beF0pIHsKICAgICAgICAgICAgICAgICsrYTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgYSA8PCBlbmRsOwogICAgcmV0dXJuIDA7Cn0=