//未完
//题目:食物链(牛客)
#include<bits/stdc++.h>
using namespace std;
int cnt;
int f[150100];
//路径压缩
int find(int x){
return f[x]==x?x:f[x]=find(f[x]);
}
//合并集合
void bing(int x,int y){
f[find(x)]=find(y);
}
int main(){
int n,k;
cin >> n >> k;
for(int i=1;i<=3*n;++i){
f[i]=i;
}
while(k--){
int d,x,y;
cin >> d >> x >> y;
if(x>n||y>n){
cnt++;continue;
}
if(d==1){
if(find(x)==find(y+n)||find(x)==find(y+2*n)){
cnt++;continue;
}
bing(x,y);
bing(x+n,y+n);
bing(x+n+n,y+n+n);
}
else{
if(find(x)==find(y)||find(x)==find(y+2*n)){
cnt++;continue;
}
bing(x,y+n);
bing(x+n,y+n+n);
bing(x+n+n,y);
}
}
cout << cnt << endl;
return 0;
}