#include"stdio.h"
#include"string.h"
int val[105000];
int father[105000];
int getfather(int k){
if (k==father[k]) return k;
int tmp=father[k];
father[k]=getfather(father[k]);
val[k]=val[k]^val[tmp];
return father[k];
}
int main(){
int n,m,i,e,t,xx,yy,a,b,x,y,k,tmp;
int sign=0;
scanf("%d %d",&n,&m);
memset(val,0,sizeof(val));
for (i=0;i<=n;i++) father[i]=i;
for (e=1;e<=m;e++){
scanf("%d %d %d",&x,&y,&k);
x--;
if (x>y) {
tmp=x;x=y;y=tmp;
}
xx=getfather(x);
yy=getfather(y);
a=val[x];
b=val[y];
if (xx!=yy){
father[yy]=xx;
val[yy]=k^a^b;
}else {
if ((a^b)==k) ;
else {sign=1;printf("%d\n",e);}
}
}
if (sign==0) printf("-1\n");
}