import sys #sys.setrecursionlimit(n) import heapq import re import bisect import random import math import itertools from collections import defaultdict, deque from copy import deepcopy from decimal import * n = int(input()) t = [int(input()) for i in range(n)] m = int(input()) l = [[0xFFFF for _ in range(m + 1)] for _ in range(m + 1)] for _ in range(m): a, b, c = map(int, input().split()) l[a][b] = c l[b][a] = c for k in range(n): for i in range(n): for j in range(n): l[i][j] = min(l[i][j], l[i][k] + l[k][j]) mn = 0xFFFF for i in range(1, n - 1): for j in range(1, n - 1): if i != j: mn = min(mn, t[i] + t[j] + l[0][i] + l[i][j] + l[j][n - 1]) print(mn)