#include #define rep(i,n) for(int i = 0; i < (n); i++) using namespace std; typedef long long ll; int main(){ cin.tie(0); ios::sync_with_stdio(0); int N; cin >> N; vector S(N); rep(i,N) cin >> S[i]; int M; cin >> M; vector> D(N, vector(N, 1e9)); rep(i,M) { int a,b,c; cin >> a >> b >> c; D[a][b] = D[b][a] = c; } rep(i,N) D[i][i] = 0; rep(k,N)rep(i,N)rep(j,N) D[i][j] = min(D[i][j], D[i][k] + D[k][j]); int ans = 1e9; for(int a = 1; a < N - 1; a++) { for(int b = 1; b < N - 1; b++) { if(a != b) ans = min(ans, D[0][a] + S[a] + D[a][b] + S[b] + D[b][N - 1]); } } cout << ans << endl; }