/*
TASK:MAN
LANG:C++
*/
#include<iostream>
using namespace std;
struct duo
{
    int a,b,c;
};
int main()
{
    int m,a[15000]={0},kom=0,b[10000],end=0,br=0;
    cin>>m;
    duo d[m];
    for (int i=0;i<m;i++)
    {cin>>d[i].a>>d[i].b;d[i].c=0;}
    
    while (end<m)
    {
        int p=0;
        br=0;
        for (int i=0;i<15000;i++)
        {
            a[i]=0;
            if (i<m)
            if ((d[i].c==0)&&(p==0))
            {
                a[d[i].a]=1;
                a[d[i].b]=1;
                kom+=2;
                d[i].c=1;
                end++;
                b[br++]=d[i].a;
                b[br++]=d[i].b;
                p=1;
            }
        }
        for (int i=0;i<br;i++)
        if (end==m) break; else
        for (int j=0;j<m;j++)
        if (end==m) break; else
        if (d[j].c==0)
        if (d[j].a==b[i])
        {
            if (a[d[j].b]==0)
            {
                b[br++]=d[j].b;
                a[d[j].b]=1;
                d[j].c=1;
                kom++;end++;
            }    
            else  {d[j].c=1;end++;}
        } 
        else if (d[j].b==b[i])
        {
            if (a[d[j].a]==0)
            {
                b[br++]=d[j].a;
                a[d[j].a]=1;
                d[j].c=1;
                kom++;end++;
            }    
            else  {d[j].c=1;end++;}
        }
    }   
    cout<<kom-1<<endl;
    return 0;
}
    
    
    
    
