#include<bits/stdc++.h>
using namespace std;
const int N=5e4+7;
int n,k,fa[N<<2],fake;
int find(int f)
{
return (fa[f]==f)?(f):(fa[f]=find(fa[f]));
}
void unity(int x,int y)
{
fa[find(x)]=find(y);
return;
}
int main()
{
scanf("%d%d",&n,&k);
for(int i=1;i<=n*3;i++)
{
fa[i]=i;
}
while(k--)
{
int op,x,y;
scanf("%d%d%d",&op,&x,&y);
if(x>n||y>n)
{
fake++;
continue;
}
if(op==1)
{
if(find(x+n)==find(y))
fake++;
else if(find(x+2*n)==find(y))
fake++;
else
{
unity(x,y);
unity(x+n,y+n);
unity(x+2*n,y+2*n);
}
}
else if(op==2)
{
if(x==y)
fake++;
else if(find(x)==find(y))
fake++;
else if(find(x*2+n)==find(y))
fake++;
else
{
unity(x,y+2*n);
unity(x+n,y);
unity(x+2*n,y+n);
}
}
}
printf("%d",fake);
return 0;
}