""" 想定解 """ N,M = map(int,input().split()) A = list(map(int,input().split())) T = [ list(map(int,input().split())) for i in range(N) ] assert 1 <= M <= N <= 1000 assert sum(A) == N for i in range(N): assert min(T[i]) == 0 assert max(T[i]) == M-1 assert len(set(T[i])) == M nok = [i for i in range(N)] ans = [None] * N for k in range(M): new_nok = [] for j in nok: nt = T[j][k] if A[nt] > 0: A[nt] -= 1 ans[j] = nt else: new_nok.append(j) nok = new_nok assert None not in ans print (*ans)