#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pb push_back
const int MAXN = 1e5 + 15;
const int oo = 1e18;
const int MOD = 1e9 + 7;
struct Edge {
int u, v, w;
} B[MAXN];
struct cmp {
bool operator() (Edge a, Edge b) {
return a.w < b.w;
}
};
int N, M, Q;
int T[MAXN], C[MAXN];
struct query {
int l, r, k;
} qr[MAXN];
struct Dosu {
int par[MAXN];
set<int> sz[MAXN];
void INIT() {
for (int i = 1; i <= N; i++) {
sz[i].insert(T[i]);
par[i] = i;
}
}
int find_set(int u) {
if (par[u] == u) return u;
return par[u] = find_set(par[u]);
}
void union_set(int u, int v) {
u = find_set(u), v = find_set(v);
if (u == v) return;
if (sz[u].size() < sz[v].size()) swap(u, v);
par[v] = u;
for (auto E : sz[v]) sz[u].insert(E);
}
} DSU;
struct Bachcho {
int L[MAXN], R[MAXN], MID[MAXN];
vector<int> q[MAXN];
void INIT() {
for (int i = 1; i <= Q; i++) {
L[i] = -1, R[i] = M + 1, MID[i] = (L[i] + R[i]) / 2;
q[MID[i]].pb(i);
}
}
bool check(int id) {
if (DSU.find_set(qr[id].l) != DSU.find_set(qr[id].r)) return false;
if (DSU.sz[DSU.find_set(qr[id].l)].size() >= qr[id].k) return true;
return false;
}
void SOLVE() {
while(1) {
DSU.INIT();
for (int i = 0; i <= M; i++) {
if (i > 0) DSU.union_set(B[i].u, B[i].v);
for (auto id : q[i]) {
if (check(id)) R[id] = MID[id];
else L[id] = MID[id];
if (R[id] > L[id] + 1) MID[id] = (R[id] + L[id]) / 2;
}
}
for (int i = 0; i <= M; i++) q[i].clear();
bool kt = 0;
for (int i = 1; i <= Q; i++) {
if (R[i] <= L[i] + 1) continue;
kt = 1;
q[MID[i]].pb(i);
}
if (!kt) break;
}
}
} PBS;
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
// freopen("a.inp", "r", stdin);
// freopen("a.out", "w", stdout);
cin >> N >> M >> Q;
for (int i = 1; i <= N; i++) {
cin >> T[i];
}
for (int i = 1; i <= M; i++) {
int u, v, w;
cin >> u >> v >> w;
B[i] = {u, v, w};
}
sort (B + 1, B + M + 1, cmp());
for (int i = 1; i <= M; i++) C[i] = B[i].w;
;
for (int i = 1; i <= Q; i++) {
cin >> qr[i].l >> qr[i].r >> qr[i].k;
}
PBS.INIT();
PBS.SOLVE();
for (int i = 1; i <= Q; i++) {
if (PBS.R[i] > M) cout << -1 << '\n';
else cout << C[PBS.R[i]] << '\n';
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIHBiIHB1c2hfYmFjawoKY29uc3QgaW50IE1BWE4gPSAxZTUgKyAxNTsKY29uc3QgaW50IG9vICAgPSAxZTE4Owpjb25zdCBpbnQgTU9EICA9IDFlOSArIDc7CgpzdHJ1Y3QgRWRnZSB7CiAgICAgaW50IHUsIHYsIHc7Cn0gQltNQVhOXTsKCnN0cnVjdCBjbXAgewogICAgYm9vbCBvcGVyYXRvcigpIChFZGdlIGEsIEVkZ2UgYikgewogICAgICAgIHJldHVybiBhLncgPCBiLnc7CiAgICB9Cn07CgppbnQgTiwgTSwgUTsKaW50IFRbTUFYTl0sIENbTUFYTl07CgpzdHJ1Y3QgcXVlcnkgewogICAgaW50IGwsIHIsIGs7Cn0gcXJbTUFYTl07CgoKc3RydWN0IERvc3UgewogICAgaW50IHBhcltNQVhOXTsKICAgIHNldDxpbnQ+IHN6W01BWE5dOwoKICAgIHZvaWQgSU5JVCgpIHsKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBOOyBpKyspIHsKICAgICAgICAgICAgc3pbaV0uaW5zZXJ0KFRbaV0pOwogICAgICAgICAgICBwYXJbaV0gPSBpOwogICAgICAgIH0KICAgIH0KCiAgICBpbnQgZmluZF9zZXQoaW50IHUpIHsKICAgICAgICBpZiAocGFyW3VdID09IHUpIHJldHVybiB1OwogICAgICAgIHJldHVybiBwYXJbdV0gPSBmaW5kX3NldChwYXJbdV0pOwogICAgfQoKICAgIHZvaWQgdW5pb25fc2V0KGludCB1LCBpbnQgdikgewogICAgICAgIHUgPSBmaW5kX3NldCh1KSwgdiA9IGZpbmRfc2V0KHYpOwogICAgICAgIGlmICh1ID09IHYpIHJldHVybjsKICAgICAgICBpZiAoc3pbdV0uc2l6ZSgpIDwgc3pbdl0uc2l6ZSgpKSBzd2FwKHUsIHYpOwogICAgICAgIHBhclt2XSA9IHU7CiAgICAgICAgZm9yIChhdXRvIEUgOiBzelt2XSkgc3pbdV0uaW5zZXJ0KEUpOwogICAgfQp9IERTVTsKCgpzdHJ1Y3QgQmFjaGNobyB7CiAgICBpbnQgTFtNQVhOXSwgUltNQVhOXSwgTUlEW01BWE5dOwogICAgdmVjdG9yPGludD4gcVtNQVhOXTsKCiAgICB2b2lkIElOSVQoKSB7CiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gUTsgaSsrKSB7CiAgICAgICAgICAgIExbaV0gPSAtMSwgUltpXSA9IE0gKyAxLCBNSURbaV0gPSAoTFtpXSArIFJbaV0pIC8gMjsKICAgICAgICAgICAgcVtNSURbaV1dLnBiKGkpOwogICAgICAgIH0KICAgIH0KCiAgICBib29sIGNoZWNrKGludCBpZCkgewogICAgICAgIGlmIChEU1UuZmluZF9zZXQocXJbaWRdLmwpICE9IERTVS5maW5kX3NldChxcltpZF0ucikpIHJldHVybiBmYWxzZTsKICAgICAgICBpZiAoRFNVLnN6W0RTVS5maW5kX3NldChxcltpZF0ubCldLnNpemUoKSA+PSBxcltpZF0uaykgcmV0dXJuIHRydWU7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHZvaWQgU09MVkUoKSB7CiAgICAgICAgd2hpbGUoMSkgewogICAgICAgICAgICBEU1UuSU5JVCgpOwoKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPD0gTTsgaSsrKSB7CiAgICAgICAgICAgICAgICBpZiAoaSA+IDApIERTVS51bmlvbl9zZXQoQltpXS51LCBCW2ldLnYpOwogICAgICAgICAgICAgICAgZm9yIChhdXRvIGlkIDogcVtpXSkgewogICAgICAgICAgICAgICAgICAgIGlmIChjaGVjayhpZCkpIFJbaWRdID0gTUlEW2lkXTsKICAgICAgICAgICAgICAgICAgICBlbHNlIExbaWRdID0gTUlEW2lkXTsKICAgICAgICAgICAgICAgICAgICBpZiAoUltpZF0gPiBMW2lkXSArIDEpIE1JRFtpZF0gPSAoUltpZF0gKyBMW2lkXSkgLyAyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8PSBNOyBpKyspIHFbaV0uY2xlYXIoKTsKCiAgICAgICAgICAgIGJvb2wga3QgPSAwOwogICAgICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBROyBpKyspIHsKICAgICAgICAgICAgICAgIGlmIChSW2ldIDw9IExbaV0gKyAxKSBjb250aW51ZTsKICAgICAgICAgICAgICAgIGt0ID0gMTsKICAgICAgICAgICAgICAgIHFbTUlEW2ldXS5wYihpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIWt0KSBicmVhazsKICAgICAgICB9CiAgICB9Cn0gUEJTOwoKCgpzaWduZWQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwogICAgY291dC50aWUoMCk7CgovLyAgICBmcmVvcGVuKCJhLmlucCIsICJyIiwgc3RkaW4pOwovLyAgICBmcmVvcGVuKCJhLm91dCIsICJ3Iiwgc3Rkb3V0KTsKCiAgICBjaW4gPj4gTiA+PiBNID4+IFE7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBOOyBpKyspIHsKICAgICAgICBjaW4gPj4gVFtpXTsKICAgIH0KCgogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gTTsgaSsrKSB7CiAgICAgICAgaW50IHUsIHYsIHc7CiAgICAgICAgY2luID4+IHUgPj4gdiA+PiB3OwogICAgICAgIEJbaV0gPSB7dSwgdiwgd307CgogICAgfQogICAgc29ydCAoQiArIDEsIEIgICsgTSArIDEsIGNtcCgpKTsKCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBNOyBpKyspIENbaV0gPSBCW2ldLnc7CjsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IFE7IGkrKykgewogICAgICAgIGNpbiA+PiBxcltpXS5sID4+ICBxcltpXS5yID4+IHFyW2ldLms7CiAgICB9CgogICAgUEJTLklOSVQoKTsKICAgIFBCUy5TT0xWRSgpOwoKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IFE7IGkrKykgewogICAgICAgIGlmIChQQlMuUltpXSA+IE0pIGNvdXQgPDwgLTEgPDwgJ1xuJzsKICAgICAgICBlbHNlIGNvdXQgPDwgQ1tQQlMuUltpXV0gPDwgJ1xuJzsKICAgIH0KfQo=