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