n1 = int(raw_input()) s = [int(raw_input()) for _ in range(n1)] m = [[10000 for _ in range(n1)] for _ in range(n1)] for i in range(n1): m[i][i] = 0 n2 = int(raw_input()) for i in range(n2): a,b,c = map(int,raw_input().split()) m[a][b] = m[b][a] = c for i in range(n1): for j in range(n1): for k in range(n1): m[j][k] = min(m[j][k], m[j][i]+m[i][k]) cost = [] for i in range(1,n1-1): for j in range(1,n1-1): if i == j: continue cost.append(m[0][i] + s[i] + m[i][j] + s[j] + m[j][-1]) print min(cost)