#include<bits/stdc++.h>
using namespace std;
#define ot 100002
#define ll long long
ll n,a,b,c[ot*2],x,y,s;
vector <int> j[ot*2];
void dfs(int p)
{
	c[p]=1,p>ot?y++:x++;
	for(int i=0;i<j[p].size();i++)
		if(!c[j[p][i]])
			dfs(j[p][i]);
}
int main()
{
	cin>>n;
	for(int i=0;i<n;i++)
		cin>>a>>b,j[a].push_back(b+ot),j[b+ot].push_back(a);
	for(int i=0;i<ot*2;i++)
		if(!c[i]&&j[i].size())
			x=y=0,dfs(i),s+=x*y;
	cout<<s-n;
    return 0;
}