from collections import deque n,m = list(map(int,input().split())) uv = [[] for i in range(n)] for i in range(m): u,v = list(map(int,input().split())) u,v = u-1,v-1 x = int(input()) uv[u].append([v,x]) uv[v].append([u,x]) ans = [0 for i in range(n)] for i in range(n): if ans[i]: continue d = deque([i]) ans[i] = 1 while len(d): u = d.popleft() for v,x in uv[u]: if ans[v]: if ans[u] ^ ans[v] != x: print(-1) exit() else: ans[v] = ans[u] ^ x d.append(v) print(*ans,sep="\n")