N, K = map(int, input().split())
H = {}
visit = {}
H1 = []
my = []
q = []
prev = {}
TF = False
for i in range(N):
k = int(input(), 2)
H[k] = i
H1.append(k)
m = int(input())
for i in range(m):
my.append(int(input()))
for i in range(m):
my_cell = H1[my[i]-1]
q = [H1[0]]
visit = {}
prev = {}
TF = False
while q:
cell = q.pop(0)
if cell == my_cell:
TF = True
break
ham = [cell ^ (1 << s) for s in range(K)]
for ni in ham:
if ni in H1 and ni not in visit:
visit[ni] = True
prev[]
q.append(ni)
if TF:
start = 0
while start in prev:
print(start + 1, end = ' ')
start = prev[start]
print(start+1)
else:
print(-1)



