import sys from itertools import combinations as combi input = sys.stdin.readline N, M, K = map(int, input().split()) a = list(map(int, input().split())) d = [[10 ** 18] * N for _ in range(N)] for i in range(M): u, v, c = map(int, input().split()) d[u - 1][v - 1] = c d[v - 1][u - 1] = c 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]) res = 10 ** 18 for c in combi(range(N), K): cres = 0 s = [c[0]] vis = [0] * N while len(s): i = s.pop() vis[i] = 1 t = 10 ** 18 jj = 0 for j in c: if vis[j]: continue if i == j: continue if t > d[i][j]: t = min(t, d[i][j]) jj = j if t == 10 ** 18: break cres += t if vis[jj]: continue vis[jj] = 1 s.append(jj) for i in c: cres += a[i] res = min(res, cres) #print(c, cres, d) print(res)