#include <bits/stdc++.h>
using namespace std;
int f[150005];
int n, k;
int find(int x)
{
if (f[x] != x) return f[x] = find(f[x]);
return f[x];
}
int main()
{
cin >> n >> k;
int ans = 0;
for (int i = 1; i <= 3 * n; i ++) f[i] = i;
for (int i = 1; i <= k; i ++)
{
int x, y, z;
cin >> z >> x >> y;
if (x > n || y > n || z > 2)
{
ans ++;
//cout << i << endl;
continue;
}
if (z == 1)
{
if (find(f[x]) == find(f[n + y]) || find(f[n + x]) == find(f[2 * n + y]) || find(f[2 * n + y]) == find(y))
{
ans ++;
//cout << i << endl;
}
else
{
f[find(x)] = find(y);
f[find(n + x)] = find(n + y);
f[find(2 * n + x)] = find(2 * n + y);
}
}
else
{
if (find(f[x]) == find(f[y]) || find(f[n + x]) == find(f[n + y]) || find(f[2 * n + x]) == find(f[2 * n + y]))
{
ans ++;
//cout << i << endl;
}
else
{
f[find(x)] = find(n + y);
f[find(n + x)] = find(2 * n + y);
f[find(2 * n + x)] = find(y);
}
}
}
cout << ans << endl;
return 0;
}
AC 1、3、9