#!/usr/bin/env python3 import sys input = sys.stdin.readline INF = 10**9 n = int(input()) s = [0] * n for i in range(n): s[i] = int(input()) m = int(input()) dist = [[INF] * n for _ in range(n)] for i in range(n): dist[i][i] = 0 for _ in range(m): a, b, c = map(int, input().split()) dist[a][b] = dist[b][a] = c for k in range(n): for i in range(n): for j in range(n): dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]) dist[j][i] = dist[i][j] ans = INF for i in range(1, n-1): for j in range(i+1, n-1): cost = s[i] + s[j] pat1 = dist[0][i] + dist[i][j] + dist[j][n-1] + cost pat2 = dist[0][j] + dist[j][i] + dist[i][n-1] + cost ans = min(ans, pat1, pat2) print(ans)