from collections import deque n,m = map(int,input().split()) e = [[] for i in range(n)] for i in range(m): a,b = map(int,input().split()) y = int(input()) a -= 1 b -= 1 e[a].append((b,y)) e[b].append((a,y)) ans = [0]*n use = [0]*n for i in range(n): if use[i]: continue q = deque([i]) use[i] = 1 while q: now = q.popleft() for nex,y in e[now]: if use[nex]: if ans[now]^ans[nex] != y: print(-1) exit() continue use[nex] = 1 ans[nex] = y^ans[now] q.append(nex) for i in ans: print(i)