N = int(input()) A = list(map(int, input().split())) B=[] ans = -10**9 ansL = [] for i in range(N): B.append(list(map(int, input().split()))) for i in range(1,2 ** N): CALL = [] point = 0 for j in range(N): if ((i >> j) & 1): CALL.append(j) for c in CALL: point+=A[c] for j in range(len(CALL)): for k in range(j+1,len(CALL)): point+=B[CALL[j]][CALL[k]] if ans < point: ans = point ansL = CALL.copy() print(ans) for i in range(len(ansL)): ansL[i]+=1 print(*ansL)