n,m = map(int,input().split()) g = [[] for _ in range(n)] for _ in range(m): l,r = map(int,input().split()) y = int(input()) g[l-1].append((r-1,y)) g[r-1].append((l-1,y)) res = [-1]*n ok = 1 for i in range(n): if res[i] == -1: res[i] = 0 st = [i] while st: v = st.pop() for c,d in g[v]: if res[c] == -1: res[c] = d ^ res[v] st.append(c) else: if res[c] != d ^ res[v]: ok = 0 if ok: print(*res,sep="\n") else: print(-1)