#include <bits/stdc++.h>
using namespace std;
const int maxN=510;
const int maxQ=2e5+1;
const int INF=1e9;
int def[maxN],dp[maxN][maxN],idx[maxN];//機場防禦力高到低
int qry[maxQ][3],ans[maxQ],ord[maxQ];//查詢暴動指數高到低
bool comp(int lhs, int rhs){
return qry[lhs][0]>qry[rhs][0];
}
int main(){
int N, M, Q, u, v, c;
cin>>N>>M>>Q;
for(int i=1; i<=N; i++)
cin>>def[i];
for(int i=1; i<=N; i++)
for(int j=1; j<=N; j++)
dp[i][j]=INF;
for(int i=1; i<=M; i++){
cin>>u>>v>>c;
dp[u][v]=dp[v][u]=min(dp[u][v],c);
}
for(int q=1; q<=Q; q++)
cin>>qry[q][0]>>qry[q][1]>>qry[q][2];
iota(ord+1,ord+1+Q,1);
sort(ord+1,ord+1+Q,comp);
iota(idx+1,idx+1+N,1);//防禦力
sort(idx+1,idx+1+N,[](int lhs, int rhs){
return def[lhs]>def[rhs];
});
//for(int i=1; i<=N; i++)
// cout<<idx[i]<<' ';
for(int n=1, q=1; q<=Q; q++){
int qID=ord[q];
for(; n<=N and def[idx[n]]>=qry[qID][0]; n++){
int m=idx[n];
for(int s=1; s<=N; s++)
for(int e=1; e<=N; e++)
dp[s][e]=min(dp[s][e],dp[s][m]+dp[m][e]);
}
u=qry[qID][1], v=qry[qID][2];
ans[qID]=(def[u]>=qry[qID][0] and def[v]>=qry[qID][0] and dp[u][v]<INF)?dp[u][v]:-1;
}
for(int q=1; q<=Q; q++)
cout<<ans[q]<<'\n';
/*for(int i=1; i<=N; i++){
for(int j=1; j<=N; j++)
cout<<(dp[i][j]==INF? 0:dp[i][j])<<' ';
cout<<'\n';
}*/
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBtYXhOPTUxMDsKY29uc3QgaW50IG1heFE9MmU1KzE7CmNvbnN0IGludCBJTkY9MWU5OwoKaW50IGRlZlttYXhOXSxkcFttYXhOXVttYXhOXSxpZHhbbWF4Tl07Ly/mqZ/loLTpmLLnpqblipvpq5jliLDkvY4KaW50IHFyeVttYXhRXVszXSxhbnNbbWF4UV0sb3JkW21heFFdOy8v5p+l6Kmi5pq05YuV5oyH5pW46auY5Yiw5L2OCmJvb2wgY29tcChpbnQgbGhzLCBpbnQgcmhzKXsKCXJldHVybiBxcnlbbGhzXVswXT5xcnlbcmhzXVswXTsKfQppbnQgbWFpbigpewoJaW50IE4sIE0sIFEsIHUsIHYsIGM7CgljaW4+Pk4+Pk0+PlE7Cglmb3IoaW50IGk9MTsgaTw9TjsgaSsrKQoJCWNpbj4+ZGVmW2ldOwoJZm9yKGludCBpPTE7IGk8PU47IGkrKykKCQlmb3IoaW50IGo9MTsgajw9TjsgaisrKQoJCQlkcFtpXVtqXT1JTkY7Cglmb3IoaW50IGk9MTsgaTw9TTsgaSsrKXsKCQljaW4+PnU+PnY+PmM7CgkJZHBbdV1bdl09ZHBbdl1bdV09bWluKGRwW3VdW3ZdLGMpOwoJfQoJZm9yKGludCBxPTE7IHE8PVE7IHErKykKCQljaW4+PnFyeVtxXVswXT4+cXJ5W3FdWzFdPj5xcnlbcV1bMl07CgkJCglpb3RhKG9yZCsxLG9yZCsxK1EsMSk7Cglzb3J0KG9yZCsxLG9yZCsxK1EsY29tcCk7Cglpb3RhKGlkeCsxLGlkeCsxK04sMSk7Ly/pmLLnpqblipsKCXNvcnQoaWR4KzEsaWR4KzErTixbXShpbnQgbGhzLCBpbnQgcmhzKXsKCQlyZXR1cm4gZGVmW2xoc10+ZGVmW3Joc107Cgl9KTsKCS8vZm9yKGludCBpPTE7IGk8PU47IGkrKykKCS8vCWNvdXQ8PGlkeFtpXTw8JyAnOyAKCQoJZm9yKGludCBuPTEsIHE9MTsgcTw9UTsgcSsrKXsKCQlpbnQgcUlEPW9yZFtxXTsKCQlmb3IoOyBuPD1OIGFuZCBkZWZbaWR4W25dXT49cXJ5W3FJRF1bMF07IG4rKyl7CgkJCWludCBtPWlkeFtuXTsKCQkJZm9yKGludCBzPTE7IHM8PU47IHMrKykKCQkJCWZvcihpbnQgZT0xOyBlPD1OOyBlKyspCgkJCQkJZHBbc11bZV09bWluKGRwW3NdW2VdLGRwW3NdW21dK2RwW21dW2VdKTsKCQl9CgkJdT1xcnlbcUlEXVsxXSwgdj1xcnlbcUlEXVsyXTsKCQlhbnNbcUlEXT0oZGVmW3VdPj1xcnlbcUlEXVswXSBhbmQgZGVmW3ZdPj1xcnlbcUlEXVswXSBhbmQgZHBbdV1bdl08SU5GKT9kcFt1XVt2XTotMTsKCX0KCWZvcihpbnQgcT0xOyBxPD1ROyBxKyspCgkJY291dDw8YW5zW3FdPDwnXG4nOwoJCgkvKmZvcihpbnQgaT0xOyBpPD1OOyBpKyspewoJCWZvcihpbnQgaj0xOyBqPD1OOyBqKyspCgkJCWNvdXQ8PChkcFtpXVtqXT09SU5GPyAwOmRwW2ldW2pdKTw8JyAnOwoJCWNvdXQ8PCdcbic7Cgl9Ki8KfQ==