#include<bits/stdc++.h>
using namespace std;
#define int long long
#define FOR(i, a, b) for (int i = (a), _b = (b); i <= _b; i++)
#define FORD(i, a, b) for (int i = (a), _b = (b); i >= _b; i--)
#define fi first
#define se second
#define pb push_back
#define ALL(a) (a).begin(), (a).end()
#define task "kingdom"
typedef vector<int> vi;
typedef pair<int, int> ii;
typedef pair<int, ii> pii;
const int N = 3e5 + 5;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9 + 2277;
int n, m, q, a[N], nxt[N], pos[N], block[N];
ii edges[N], T[4 * N];
struct DSU{
vi lab, foot, head;
DSU(int n) : lab(n, -1), foot(n), head(n) {};
void make_set(int u){
foot[u] = head[u] = u;
}
int Find(int u){
return lab[u] < 0 ? u : lab[u] = Find(lab[u]);
}
void Union(int u, int v){
if ((u = Find(u)) == (v = Find(v))) return;
if (lab[u] < lab[v]) swap(u, v);
lab[u] += lab[v];
lab[v] = u;
nxt[foot[u]] = head[v];
foot[u] = foot[v];
}
};
void update(int id, int l, int r, int pos, int val){
if(l == r){
T[id] = {val, l};
return;
}
int m = (l + r)/2;
if (pos <= m) update(id*2, l, m, pos, val);
else update(id*2+1, m+1, r, pos, val);
T[id] = max(T[id*2], T[id * 2 + 1]);
}
ii get(int id, int l, int r, int u, int v){
if (l > v || r < u) return {0, 0};
if (u <= l && r <= v) return T[id];
int m = (l +r )/2;
return max(get(id * 2, l, m, u, v), get(id * 2 + 1, m + 1, r, u, v));
}
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
if (fopen(task".inp", "r")){
freopen(task".inp", "r", stdin);
freopen(task".out", "w", stdout);
}
cin >> n >> m >> q;
FOR (i, 1, n) cin >> a[i];
FOR (i, 1, m){
int u, v; cin >> u >> v;
edges[i] = {u, v};
}
vector<ii> queries;
DSU dsu(n +5 );
FOR (i, 1, n) dsu.make_set(i);
FOR (i, 1, q){
int x, k; cin >> x >> k;
queries.pb({x, k});
if (x == 2) block[k]++;
}
FOR (i, 1, m){
if (block[i]) continue;
dsu.Union(edges[i].fi, edges[i].se);
}
DSU dsu2 = dsu;
FORD(i, q - 1, 0){
if (queries[i].fi == 1) continue;
block[queries[i].se]--;
if (!block[queries[i].se]) dsu2.Union(edges[queries[i].se].fi, edges[queries[i].se].se);
}
for (ii &x : queries) if (x.fi == 2) block[x.se]++;
FOR (i, 1, n){
if (pos[i]) continue;
int u = dsu2.head[dsu2.Find(i)];
while (u){
pos[u] = ++pos[0];
update(1, 1, n, pos[u], a[u]);
u = nxt[u];
}
}
vector<ii> vec;
FORD(i, q - 1, 0){
ii x = queries[i];
if (x.fi == 2){
block[x.se]--;
if (block[x.se] == 0) dsu.Union(edges[x.se].fi, edges[x.se].se);
} else {
int u = dsu.Find(x.se);
vec.pb({pos[dsu.head[u]], pos[dsu.foot[u]]});
}
}
reverse(ALL(vec));
for (ii &x : vec){
ii tmp = get(1, 1, n, x.fi, x.se);
cout << tmp.fi << '\n';
update(1, 1, n, tmp.se, 0);
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIEZPUihpLCBhLCBiKSBmb3IgKGludCBpID0gKGEpLCBfYiA9IChiKTsgaSA8PSBfYjsgaSsrKQojZGVmaW5lIEZPUkQoaSwgYSwgYikgZm9yIChpbnQgaSA9IChhKSwgX2IgPSAoYik7IGkgPj0gX2I7IGktLSkKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIEFMTChhKSAoYSkuYmVnaW4oKSwgKGEpLmVuZCgpCiNkZWZpbmUgdGFzayAia2luZ2RvbSIKCnR5cGVkZWYgdmVjdG9yPGludD4gdmk7CnR5cGVkZWYgcGFpcjxpbnQsIGludD4gaWk7CnR5cGVkZWYgcGFpcjxpbnQsIGlpPiBwaWk7Cgpjb25zdCBpbnQgTiA9IDNlNSArIDU7CmNvbnN0IGludCBJTkYgPSAweDNmM2YzZjNmOwpjb25zdCBpbnQgTU9EID0gMWU5ICsgMjI3NzsKCmludCBuLCBtLCBxLCBhW05dLCBueHRbTl0sIHBvc1tOXSwgYmxvY2tbTl07CmlpIGVkZ2VzW05dLCBUWzQgKiBOXTsKCnN0cnVjdCBEU1V7CiAgICB2aSBsYWIsIGZvb3QsIGhlYWQ7CiAgICBEU1UoaW50IG4pIDogbGFiKG4sIC0xKSwgZm9vdChuKSwgIGhlYWQobikge307CiAgICB2b2lkIG1ha2Vfc2V0KGludCB1KXsKICAgICAgICBmb290W3VdID0gaGVhZFt1XSA9IHU7CiAgICB9CiAgICAKICAgIGludCBGaW5kKGludCB1KXsKICAgICAgICByZXR1cm4gbGFiW3VdIDwgMCA/IHUgOiBsYWJbdV0gPSBGaW5kKGxhYlt1XSk7CiAgICB9CgogICAgdm9pZCBVbmlvbihpbnQgdSwgaW50IHYpewogICAgICAgIGlmICgodSA9IEZpbmQodSkpID09ICh2ID0gRmluZCh2KSkpIHJldHVybjsKICAgICAgICBpZiAobGFiW3VdIDwgbGFiW3ZdKSBzd2FwKHUsIHYpOwogICAgICAgIGxhYlt1XSArPSBsYWJbdl07CiAgICAgICAgbGFiW3ZdID0gdTsKICAgICAgICBueHRbZm9vdFt1XV0gPSBoZWFkW3ZdOwogICAgICAgIGZvb3RbdV0gPSBmb290W3ZdOwoKICAgIH0KCn07Cgp2b2lkIHVwZGF0ZShpbnQgaWQsIGludCBsLCBpbnQgciwgaW50IHBvcywgaW50IHZhbCl7CiAgICBpZihsID09IHIpewogICAgICAgIFRbaWRdID0ge3ZhbCwgbH07CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaW50IG0gPSAobCArIHIpLzI7CiAgICBpZiAocG9zIDw9IG0pIHVwZGF0ZShpZCoyLCBsLCBtLCBwb3MsIHZhbCk7CiAgICBlbHNlIHVwZGF0ZShpZCoyKzEsIG0rMSwgciwgcG9zLCB2YWwpOwogICAgVFtpZF0gPSBtYXgoVFtpZCoyXSwgVFtpZCAqIDIgKyAxXSk7Cn0KCmlpIGdldChpbnQgaWQsIGludCBsLCBpbnQgciwgaW50IHUsIGludCB2KXsKICAgIGlmIChsID4gdiB8fCByIDwgdSkgcmV0dXJuIHswLCAwfTsKICAgIGlmICh1IDw9IGwgJiYgciA8PSB2KSByZXR1cm4gVFtpZF07CiAgICBpbnQgbSA9IChsICtyICkvMjsKICAgIHJldHVybiBtYXgoZ2V0KGlkICogMiwgbCwgbSwgdSwgdiksIGdldChpZCAqIDIgKyAxLCBtICsgMSwgciwgdSwgdikpOwp9CgpzaWduZWQgbWFpbigpewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7IGNvdXQudGllKDApOwogICAgaWYgKGZvcGVuKHRhc2siLmlucCIsICJyIikpewogICAgICAgIGZyZW9wZW4odGFzayIuaW5wIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3Blbih0YXNrIi5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICB9CiAgICBjaW4gPj4gbiA+PiBtID4+IHE7CiAgICBGT1IgKGksIDEsIG4pIGNpbiA+PiBhW2ldOwogICAgRk9SIChpLCAxLCBtKXsKICAgICAgICBpbnQgdSwgdjsgY2luID4+IHUgPj4gdjsKICAgICAgICBlZGdlc1tpXSA9IHt1LCB2fTsKICAgIH0KCiAgICB2ZWN0b3I8aWk+IHF1ZXJpZXM7CiAgICBEU1UgZHN1KG4gKzUgKTsKICAgIEZPUiAoaSwgMSwgbikgZHN1Lm1ha2Vfc2V0KGkpOwoKICAgIEZPUiAoaSwgMSwgcSl7CiAgICAgICAgaW50IHgsIGs7IGNpbiA+PiB4ID4+IGs7CiAgICAgICAgcXVlcmllcy5wYih7eCwga30pOwogICAgICAgIGlmICh4ID09IDIpIGJsb2NrW2tdKys7CiAgICB9CgogICAgRk9SIChpLCAxLCBtKXsKICAgICAgICBpZiAoYmxvY2tbaV0pIGNvbnRpbnVlOwogICAgICAgIGRzdS5VbmlvbihlZGdlc1tpXS5maSwgZWRnZXNbaV0uc2UpOwogICAgfQogICAgCiAgICBEU1UgZHN1MiA9IGRzdTsKICAgIEZPUkQoaSwgcSAtIDEsIDApewogICAgICAgIGlmIChxdWVyaWVzW2ldLmZpID09IDEpIGNvbnRpbnVlOwogICAgICAgIGJsb2NrW3F1ZXJpZXNbaV0uc2VdLS07CiAgICAgICAgaWYgKCFibG9ja1txdWVyaWVzW2ldLnNlXSkgZHN1Mi5VbmlvbihlZGdlc1txdWVyaWVzW2ldLnNlXS5maSwgZWRnZXNbcXVlcmllc1tpXS5zZV0uc2UpOwogICAgfQoKICAgIAogICAgZm9yIChpaSAmeCA6IHF1ZXJpZXMpIGlmICh4LmZpID09IDIpIGJsb2NrW3guc2VdKys7CiAgICBGT1IgKGksIDEsIG4pewogICAgICAgIGlmIChwb3NbaV0pIGNvbnRpbnVlOwogICAgICAgIGludCB1ID0gZHN1Mi5oZWFkW2RzdTIuRmluZChpKV07CiAgICAgICAgd2hpbGUgKHUpewogICAgICAgICAgICBwb3NbdV0gPSArK3Bvc1swXTsKICAgICAgICAgICAgdXBkYXRlKDEsIDEsIG4sIHBvc1t1XSwgYVt1XSk7CiAgICAgICAgICAgIHUgPSBueHRbdV07CiAgICAgICAgfQogICAgfQogICAgCiAgICB2ZWN0b3I8aWk+IHZlYzsKICAgIEZPUkQoaSwgcSAtIDEsIDApewogICAgICAgIGlpIHggPSBxdWVyaWVzW2ldOwogICAgICAgIGlmICh4LmZpID09IDIpewogICAgICAgICAgICBibG9ja1t4LnNlXS0tOwogICAgICAgICAgICBpZiAoYmxvY2tbeC5zZV0gPT0gMCkgZHN1LlVuaW9uKGVkZ2VzW3guc2VdLmZpLCBlZGdlc1t4LnNlXS5zZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaW50IHUgPSBkc3UuRmluZCh4LnNlKTsKICAgICAgICAgICAgdmVjLnBiKHtwb3NbZHN1LmhlYWRbdV1dLCBwb3NbZHN1LmZvb3RbdV1dfSk7CiAgICAgICAgfQogICAgfQogICAgcmV2ZXJzZShBTEwodmVjKSk7CiAgICBmb3IgKGlpICZ4IDogdmVjKXsKICAgICAgICBpaSB0bXAgPSBnZXQoMSwgMSwgbiwgeC5maSwgeC5zZSk7CiAgICAgICAgY291dCA8PCB0bXAuZmkgPDwgJ1xuJzsKICAgICAgICB1cGRhdGUoMSwgMSwgbiwgdG1wLnNlLCAwKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQ==