#include<bits/stdc++.h>
using namespace std;
const int N=200001;
int n,k,fa[N];
int op,x,y,cnt;
int find(int x){
if(fa[x]==x) return x;
return fa[x]=find(fa[x]);
}
int main(){
cin>>n>>k;
for(int i=1;i<=3*n;i++) fa[i]=i;
while(k--){
cin>>op>>x>>y;
if(x>n||y>n){
cnt++;
continue;
}
int fx=find(x),fy=find(y);
if(op==1){
if(fa[fx]==fy+n||fa[fx]==fy+2*n){
cnt++;
continue;
}
fa[fx]=fy;
fa[fx+n]=fy+n;
fa[fx+2*n]=fy+2*n;
}
if(op==2){
if(fx==fy){
cnt++;
continue;
}
if(fa[fx+n]==fy+n||fa[fx+n]==fy+2*n){
cnt++;
continue;
}
fa[fx]=fy+2*n;
fa[fx+n]=fy;
fa[fx+2*n]=fy+n;
}
}
cout<<cnt;
return 0;
}