N, M = map(int, input().split()) T = list(map(int, input().split())) A = [list(map(int, input().split())) for _ in range(N)] def matrix(a, b): ans = [[0]*len(b[0]) for _ in range(len(a))] for i in range(len(a)): for j in range(len(b[0])): for k in range(len(b)): ans[i][j] = max(ans[i][j], a[i][k]+b[k][j]) return ans dp = [[0]*N for _ in range(N)] for i in range(N): for j in range(N): dp[j][i] = A[i][j] ansM = [[T[i]] for i in range(N)] for i in range(60): if 1<