#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define INF (1<<29) #define rep(i,n) for(int i=0;i<(int)(n);i++) #define all(v) v.begin(),v.end() #define uniq(v) v.erase(unique(all(v)),v.end()) #define indexOf(v,x) (find(all(v),x)-v.begin()) int main(){ int dist[50][50],s[50],n; cin>>n; rep(i,n){ cin>>s[i]; } fill(dist[0],dist[50],INF); rep(i,n)dist[i][i]=0; int m; cin>>m; rep(i,m){ int a,b,c; cin>>a>>b>>c; dist[a][b]=dist[b][a]=c; } rep(k,n)rep(i,n)rep(j,n)dist[i][j]=min(dist[i][j],dist[i][k]+dist[k][j]); int ans=INF; for(int i=1;i