import sys input = sys.stdin.buffer.readline #input = sys.stdin.readline def main(): N,M,K = map(int,input().split()); INF = pow(10,18) A = list(map(int,input().split())) G = [[] for _ in range(N)] d = [[INF]*N for _ in range(N)] for _ in range(M): x,y,z = map(int,input().split()) x -= 1; y -= 1 G[x].append((z,y)) G[y].append((z,x)) d[x][y] = z; d[y][x] = z d[x][x] = 0; d[y][y] = 0 n = len(d) for k in range(n): for i in range(n): for j in range(n): d[i][j] = min(d[i][j], d[i][k] + d[k][j]) #print(d) popcount = [0]*(1<>j)&1 == 1: continue #既にjに建っている if i == 0: #jが初めての発電所 dp[i|1<>k)&1 == 1: cost = min(cost, d[j][k]) #print(i,j,cost) dp[i|1<