#include<cstdio>
#include<vector>
#include<cstring>
#include<utility>
using namespace std;
int n,m;
vector<int> v[111111];
int dist[111111],ans;
void dfs(int x)
{
	for(int i=0;i<v[x].size();i++)
	{
		int p=v[x][i];
		if(dist[p]==0)
		{
			dist[p]=1;
			dfs(p);
		}
	}
}
int main()
{
	scanf("%d %d",&n,&m);
	for(int i=1;i<=m;i++)
	{
		int u,V,w;
		scanf("%d %d %d",&u,&V,&w);
		v[u].push_back(V);
		v[V].push_back(u);
	}
	for(int i=1;i<=n;i++)
	{
		if(dist[i]==0)
		{
			dist[i]=1;
			dfs(i);
			ans++;
		}
	}
	printf("%d",ans);
}