N, M = map(int, input().split()) A, B, Y = [], [], [] for _ in range(M): A.append(int(input())) C = list(map(int, input().split())) bit = 0 for c in C: bit |= 1<<(c-1) B.append(bit) Y.append(int(input())) def add_base(bit, X): for i, b in enumerate(base): if bit^b < bit: bit ^= b X ^= xor[i] if bit: base.append(bit) xor.append(X) elif X != 0: return False return True def confirm_base(bit): sbit = bit X = 0 for i, b in enumerate(base): if bit^b < bit: bit ^= b X ^= xor[i] if bit: base.append(sbit) xor.append(0) return 0 else: return X base = [] xor = [] for i in range(M): f = add_base(B[i], Y[i]) if not f: exit(print(-1)) ans = [confirm_base(1<