import numpy as np from scipy.sparse.csgraph import shortest_path, floyd_warshall, dijkstra, bellman_ford, johnson from scipy.sparse import csr_matrix n = int(input()) graph = [[0 for i in range(n)] for j in range(n)] stay_cost = [int(input()) for i in range(n)] for i in range(int(input())): a,b,c = map(int, input().split()) graph[a][b] = graph[b][a] = c graph = dijkstra(graph) ans = 10**18 for i in range(1,n-1): for j in range(1,n-1): if i == j: continue #print("i:{} j:{}".format(i,j)) ans = min(ans, graph[0][i] + graph[i][j] + graph[j][n-1] + stay_cost[i] + stay_cost[j] ) print(int(ans))