from collections import deque def main(): N, M = map(int, input().split()) A = list(map(int, input().split())) hope = [deque(map(int, input().split())) for _ in range(N)] rest = list(range(N)) lab_assigned = [set() for _ in range(M)] while rest: not_assigned = [] for idx in rest: hope_lab = hope[idx].popleft() if len(lab_assigned[hope_lab]) < A[hope_lab]: lab_assigned[hope_lab].add(idx) else: not_assigned.append(idx) rest = not_assigned assigned_lab = {} for lab_idx, lab_member in enumerate(lab_assigned): for member in lab_member: assigned_lab[member] = lab_idx ans = [] for idx in range(N): ans.append(assigned_lab[idx]) print(*ans) if __name__ == "__main__": main()