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