#include <bits/stdc++.h>
using namespace std;
int fa[3000005];
int ans = 0;
int find(int x) {
if (x!=fa[x]) fa[x]=find(fa[x]);
return fa[x];
}
int hebing(int x, int y) {
int r1 = find(fa[x]);
int r2 = find(fa[y]);
fa[r1] = r2;
}
int main() {
int n, k;
scanf("%d%d", &n, &k);
for (int i = 1; i <= 3 * n; i++) {
fa[i] = i;
}
int x, y, z;
for (int i = 1; i <= k; i++) {
scanf("%d%d%d", &z, &x, &y);
if (x > n || y > n) {
ans++;
} else {
if (z == 1) {
if (find(x + n) == find(y) || find(x + 2 * n) == find(y)) {
ans++;
} else {
hebing(x, y);
hebing(x + n, y + n);
hebing(x + 2 * n, y + 2 * n);
}
} else {
if (x == y || find(x) == find(y) || find(x + 2 * n) == find(y)) {
ans++;
} else {
hebing(x, y + 2 * n);
hebing(x + n, y);
hebing(x + 2 * n, y + n);
}
}
}
}
printf("%d", ans);
return 0;
}