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()) e = [[int(i) for i in input().split()] for i in range(m)] l = [[0xFFFF for _ in range(m + 1)] for _ in range(m + 1)] for ee in e: l[ee[0]][ee[1]] = ee[2] l[ee[1]][ee[0]] = ee[2] size = len(l) for k in range(size): for i in range(size): for j in range(size): 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)