# Input N = int(input()) S = [ int(input()) for i in range(N) ] M = int(input()) d = [ [ 10 ** 10 ] * N for i in range(N) ] for i in range(M): A, B, C = map(int, input().split()) d[A][B] = min(d[A][B], C) d[B][A] = min(d[B][A], C) # Brute Force answer = 10 ** 10 for i in range(0, N): for j in range(0, N): answer = min(answer, d[0][i] + d[i][j] + d[j][N - 1] + S[i] + S[j]) # Output print(answer)