#include<bits/stdc++.h>
using namespace std;
const int N=5e4+10;
int p[3*N];
int find(int x)
{
if(p[x]!=x) return p[x]=find(p[x]);
return p[x];
}
int main()
{
int n,k,ans=0;
cin>>n>>k;
for(int i=1;i<=3*n;++i) p[i]=i;
for(int i=0;i<k;++i){
int x,y,t;
scanf("%d%d%d",&t,&x,&y);
if(x<1||x>n||y<1||y>n){
++ans;
continue;
}
if(t==1){
if(find(x)==find(y+n)||find(x)==find(y+2*n)) ++ans;
else p[find(x)]=find(y),p[find(x+n)]==find(y+n),p[find(x+2*n)]=find(y+2*n);
}
else{
if(find(x)==find(y)||find(x)==find(y+2*n)) ++ans;
else p[find(x)]=find(y+n),p[find(x+n)]=find(y+2*n),p[find(x+2*n)]=find(y);
}
}
cout<<ans;
return 0;
}