#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")