// KKGyak.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
using namespace std;
#include <iostream>
#include <map>
#include <set>
#include <unordered_set>
#include <vector>
#include <algorithm>
#include <unordered_map>
int main()
{
int n;
cin >> n;
vector<vector<int>> rows(200001);
vector<vector<int>> coloumns(200001);
for (size_t i = 0; i < n; i++)
{
int a, b;
cin >> a >> b;
rows[a].push_back(b);
coloumns[b].push_back(a);
}
int res = 0;
for (size_t i = 0; i < rows.size(); i++)
{
for (size_t j = 0; j < rows[i].size(); j++)
{
int coloumn = rows[i][j];
for (size_t k = 0; k < coloumns[coloumn].size(); k++)
{
int newRow = coloumns[coloumn][k];
if (newRow != i) {
res += rows[newRow].size() - 1;
}
}
}
}
cout << res;
}
// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu
// Tips for Getting Started:
// 1. Use the Solution Explorer window to add/manage files
// 2. Use the Team Explorer window to connect to source control
// 3. Use the Output window to see build output and other messages
// 4. Use the Error List window to view errors
// 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
// 6. In the future, to open this project again, go to File > Open > Project and select the .sln file