#include <any>
#include <iostream>
using namespace std;
const int maxn =1e6+10;
int fa[maxn];
bool visit[maxn]={0};

int find(int x)
{
    if(fa[x]==x)return x;
    return fa[x]=find(fa[x]);
}

int main() {
    int a, b;
    for(int i=1;i<maxn;i++)fa[i]=i;
    while (cin >> a >> b) { // 注意 while 处理多个 case
        if(a>b)swap(a,b);
        int f1 = find(a);
        int f2 = find(b);
        visit[a]=1;
        visit[b]=1;
        if(f1!=f2)fa[f2]=f1;
    }
    int ans=0;
    for(int i=0;i<maxn;i++)
    {
        if(visit[i]==0)continue;
        if(fa[i]==i)ans++;
    }
    cout<<ans<<endl;
}
// 64 位输出请用 printf("%lld")