#include<iostream>
using namespace std;
const int max_n=150000+16;
int pre[max_n];
int find(int x)
{
if(pre[x]==x)
return x;
else
return pre[x]=find(pre[x]);
}
int main(void)
{
int n,k,c,x,y;
int number=0;
cin>>n>>k;
for(int i=1;i<=n;i++){
pre[i]=i;
pre[i+n]=i+n;
pre[i+2*n]=i+2*n;
}
while(k--){
cin>>c>>x>>y;
if(x>n||y>n){
number++;
}
else{
if(c==1){
if((find(x)!=find(y+n))&&(find(y)!=find(x+n))){
pre[find(x)]=y;
pre[find(x+n)]=y+n;
pre[find(x+2*n)]=y+2*n;
}
else{
number++;
}
}
else{
if(x==y)
number++;
else{
if(find(x)!=find(y)&&find(y)!=find(x+n)){
pre[find(x)]=find(y+n);
pre[find(x+n)]=find(y+2*n);
pre[find(x+2*n)]=find(y);
}
else
number++;
}
}
}
}
cout<<number;
return 0;
}