#include<bits/stdc++.h>
using namespace std;
int n,k,p,x,y,f[100005],ans;
map<int,map<int,int > > a;
int find(int x)
{
if(x==f[x]) return x;
else return f[x]=find(f[x]);
}
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
{
f[i]=i;
}
for(int i=1;i<=k;i++)
{
cin>>p>>x>>y;
if(x>n||y>n)
{
ans++;
continue;
}
if(x==y&&p==2)
{
ans++;
continue;
}
if(find(x)==find(y)&&p==2)
{
ans++;
continue;
}
if((a[x][y]==1||a[y][x]==1)&&p==1)
{
ans++;
continue;
}
if(p==2&&a[y][x]==1)
{
ans++;
continue;
}
if(p==1)
{
f[find(x)]=find(y);
}
if(p==2)
{
a[x][y]=1;
}
}
cout<<ans;
}