N,M=map(int,input().split())
table=[(0,0)]*0
J=0
for i in range(M):
	A=int(input())
	D=0
	tmp=list(map(int,input().split()))
	for j in range(A):
		D+=(1<<(tmp[j]-1))
	Y=int(input())
	for j in range(len(table)):
		if (D^table[j][0])<D:
			D^=table[j][0]
			Y^=table[j][1]
	if D!=0:
		table.append((D,Y))
	elif Y!=0:
		J=1
if J==1:
	print(-1)
	exit()
ans=[0]*N
table.sort()
for i in range(len(table)):
	tmp=0
	ind=0
	for j in range(N):
		if (table[i][0]&(1<<j))!=0:
			ind=j
			tmp^=ans[j]
	ans[ind]=(tmp^table[i][1])
	#print(ind,tmp,table[i],ans)
for i in range(N):
	print(ans[i])