#include<bits/stdc++.h>
using namespace std;
const int N = 5e4 + 5;
int n, k, fa[N * 3], t, x, y, ans;
int find(int x){
while(x != fa[x])
x = fa[x] = fa[fa[x]];
return x;
}
int main(){
scanf("%d%d", &n, &k);
for(int i = 1; i <= n * 3; i ++)
fa[i] = i;
for(int i = 1; i <= k; i ++){
scanf("%d%d%d", &t, &x, &y);
if(x > n || y > n){
ans ++;
continue;
}
if(t == 1){
if(find(x) == find(y + n) || find(x) == find(y + n + n)){
ans ++;
continue;
}
fa[find(x)] = find(y);
}
else{
if(x == y){
ans ++;
continue;
}
if(find(x) == find(y) || find(x) == find(y + n)){
ans ++;
continue;
}
fa[find(y)] = find(x + n);
fa[find(x)] = find(y + n + n);
// 同类;天敌;猎物
}
}
printf("%d", ans);
return 0;
}
不知道哪里错了