import sys sys.setrecursionlimit(500000) N,M = map(int,input().split()) C = [] G = [[] for _ in range(N)] for _ in range(M): A,B = map(int,input().split()) A-=1;B-=1 Y = int(input()) G[A].append((B,Y)) G[B].append((A,Y)) C.append((A,B,Y)) used = [0]*N X = [-1]*N def dfs(v,par=-1): for u,y in G[v]: if used[u] == 1: if X[v]^X[u] != y: print(-1);exit() else: X[u] = X[v]^y used[u] = 1 dfs(u,v) for i in range(N): if used[i] == 1: continue X[i] = 0 dfs(i) print(*X,sep="\n")