#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m;
int ans,minn=9999;
int tot=1;
bool jud[10000001];
struct line{
int head,tail;
}s[10000001];
bool graph[10001][10001];
void dfs(int x)
{
jud[x] = 1;
for(int i=1;i<=n;++i)
{
if(graph[x][i] && !jud[i])
{
dfs(i);
}
}
}
signed main()
{
cin>>n>>m;
for(int i=1;i<=m;++i)
{
cin>>s[i].head>>s[i].tail;
graph[s[i].head][s[i].tail] = 1;
graph[s[i].tail][s[i].head] = 1;
}
int cnt = 0;
for(int i=1;i<=n;++i)
{
if(!jud[i])
{
dfs(i);
cnt++;
}
}
cout<<cnt;
return 0;
}