#include <bits/stdc++.h>
#define ll long long
using namespace std;
struct DSU{
vector<int>parent,gsize,minimal,maximal,score;
int comps;
int mxcmp;
DSU(int maxi){
score=parent=gsize=minimal=maximal=vector<int>(maxi+5);
comps=maxi;
mxcmp=1;
for(int i=0;i<=maxi;i++){
minimal[i]=maximal[i]=parent[i]=i,gsize[i]=1,score[i]=0;
}
}
int find_leader(int node){
return parent[node]=(parent[node]==node?node:find_leader(parent[node]));
}
bool samel(int node1,int node2){
return find_leader(node1)==find_leader(node2);
}
void union_set(int node1,int node2){
int u=find_leader(node1),v=find_leader(node2);
if(u==v)return;
if(gsize[u]<gsize[v])swap(u,v);
gsize[u]+=gsize[v],parent[v]=u;
score[v]-=score[u];
comps--;
mxcmp=max(gsize[u],mxcmp);
maximal[u]=max(maximal[u],maximal[v]);
minimal[u]=min(minimal[u],minimal[v]);
}
void cut(int node1,int node2){
int u=find_leader(node1),v=find_leader(node2);
if(u==v)
parent[node1]=node1;
}
int find_min(int u){
int v=find_leader(u);
return minimal[v];
}
int find_max(int u){
int v=find_leader(u);
return maximal[v];
}
int largest_comp(){
return mxcmp;
}
void score_update(int u,int x){
int v=find_leader(u);
score[v]+=x;
}
int get_score(int u){
int v=find_leader(u);
int ans=(v==u?score[v]:score[v]+score[u]);
return ans;
}
};
int main(){
int n,k,m;
cin>>n>>k>>m;
DSU dsu(n);
vector<pair<int,int>>a(k);
map<pair<int,int>,int>mp;
for(int i=0;i<k;i++){
int x,y;
cin>>x>>y;
if(x>y)swap(x,y);
a[i]={x,y};
mp[{x,y}]=i;
}
vector<bool>survived(k,1);
vector<pair<string,pair<int,int>>>qs(m);
for(int i=0;i<m;i++){
string s;
cin>>s;
int x,y;
cin>>x>>y;
qs[i]={s,{x,y}};
if(s=="cut"){
if(x>y)swap(x,y);
auto it=mp.find({x,y});
if(it!=mp.end()){
survived[mp[{x,y}]]=0;
}
}
}
for(int i=0;i<k;i++){
if(survived[i]){
dsu.union_set(a[i].first,a[i].second);
}
}
vector<string>ans;
for(int i=qs.size()-1;i>=0;i--){
if(qs[i].first=="ask"){
bool is=dsu.samel(qs[i].second.first,qs[i].second.second);
string k=(is?"YES\n":"NO\n");
ans.push_back(k);
}
else{
dsu.union_set(qs[i].second.first,qs[i].second.second);
}
}
reverse(ans.begin(),ans.end());
for(int i=0;i<ans.size();i++){
cout<<ans[i];
}
return 0;
}
ICAgICNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgogICAgI2RlZmluZSBsbCBsb25nIGxvbmcKICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgIHN0cnVjdCBEU1V7ICAgCiAgICB2ZWN0b3I8aW50PnBhcmVudCxnc2l6ZSxtaW5pbWFsLG1heGltYWwsc2NvcmU7CiAgICBpbnQgY29tcHM7CiAgICBpbnQgbXhjbXA7CiAgICBEU1UoaW50IG1heGkpewogICAgICAgIHNjb3JlPXBhcmVudD1nc2l6ZT1taW5pbWFsPW1heGltYWw9dmVjdG9yPGludD4obWF4aSs1KTsKICAgICAgICBjb21wcz1tYXhpOwogICAgICAgIG14Y21wPTE7CiAgICAgICAgZm9yKGludCBpPTA7aTw9bWF4aTtpKyspewogICAgICAgICAgIG1pbmltYWxbaV09bWF4aW1hbFtpXT1wYXJlbnRbaV09aSxnc2l6ZVtpXT0xLHNjb3JlW2ldPTA7CiAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpbnQgZmluZF9sZWFkZXIoaW50IG5vZGUpewogICAgICAgICAgICByZXR1cm4gcGFyZW50W25vZGVdPShwYXJlbnRbbm9kZV09PW5vZGU/bm9kZTpmaW5kX2xlYWRlcihwYXJlbnRbbm9kZV0pKTsKICAgICAgICB9CiAgICAgICAgYm9vbCBzYW1lbChpbnQgbm9kZTEsaW50IG5vZGUyKXsKICAgICAgICAgICAgcmV0dXJuIGZpbmRfbGVhZGVyKG5vZGUxKT09ZmluZF9sZWFkZXIobm9kZTIpOwogICAgICAgIH0KICAgICAgICB2b2lkIHVuaW9uX3NldChpbnQgbm9kZTEsaW50IG5vZGUyKXsKICAgICAgICAgICAgaW50IHU9ZmluZF9sZWFkZXIobm9kZTEpLHY9ZmluZF9sZWFkZXIobm9kZTIpOwogICAgICAgICAgICBpZih1PT12KXJldHVybjsKICAgICAgICAgICAgaWYoZ3NpemVbdV08Z3NpemVbdl0pc3dhcCh1LHYpOwogICAgICAgICAgICBnc2l6ZVt1XSs9Z3NpemVbdl0scGFyZW50W3ZdPXU7CiAgICAgICAgICAgIHNjb3JlW3ZdLT1zY29yZVt1XTsKICAgICAgICAgICAgY29tcHMtLTsKICAgICAgICAgICAgbXhjbXA9bWF4KGdzaXplW3VdLG14Y21wKTsKICAgICAgICAgICAgbWF4aW1hbFt1XT1tYXgobWF4aW1hbFt1XSxtYXhpbWFsW3ZdKTsKICAgICAgICAgICBtaW5pbWFsW3VdPW1pbihtaW5pbWFsW3VdLG1pbmltYWxbdl0pOwogICAgICAgIH0KICAgICAgICB2b2lkIGN1dChpbnQgbm9kZTEsaW50IG5vZGUyKXsKICAgICAgICAgICAgaW50IHU9ZmluZF9sZWFkZXIobm9kZTEpLHY9ZmluZF9sZWFkZXIobm9kZTIpOwogICAgICAgICAgICBpZih1PT12KQogICAgICAgICAgICBwYXJlbnRbbm9kZTFdPW5vZGUxOwogICAgICAgIH0KICAgICAgICBpbnQgZmluZF9taW4oaW50IHUpewogICAgICAgICAgICBpbnQgdj1maW5kX2xlYWRlcih1KTsKICAgICAgICAgICAgcmV0dXJuIG1pbmltYWxbdl07CiAgICAgICAgfQogICAgICAgIGludCBmaW5kX21heChpbnQgdSl7CiAgICAgICAgICAgIGludCB2PWZpbmRfbGVhZGVyKHUpOwogICAgICAgICAgICByZXR1cm4gbWF4aW1hbFt2XTsKICAgICAgICB9CiAgICAgICAgaW50IGxhcmdlc3RfY29tcCgpewogICAgICAgICAgICByZXR1cm4gbXhjbXA7CiAgICAgICAgfQogICAgICAgIHZvaWQgc2NvcmVfdXBkYXRlKGludCB1LGludCB4KXsKICAgICAgICAgICBpbnQgdj1maW5kX2xlYWRlcih1KTsKICAgICAgICAgICBzY29yZVt2XSs9eDsKICAgICAgICB9CiAgICAgICAgaW50IGdldF9zY29yZShpbnQgdSl7CiAgICAgICAgICAgIGludCB2PWZpbmRfbGVhZGVyKHUpOwogICAgICAgICAgICBpbnQgYW5zPSh2PT11P3Njb3JlW3ZdOnNjb3JlW3ZdK3Njb3JlW3VdKTsKICAgICAgICAgICAgcmV0dXJuIGFuczsKICAgICAgICB9CiAgICB9OwogICAgIGludCBtYWluKCl7CiAgICAgICAgaW50IG4sayxtOwogICAgICAgIGNpbj4+bj4+az4+bTsKICAgICAgICBEU1UgZHN1KG4pOwogICAgICAgIHZlY3RvcjxwYWlyPGludCxpbnQ+PmEoayk7CiAgICAgICAgbWFwPHBhaXI8aW50LGludD4saW50Pm1wOwogICAgICAgIGZvcihpbnQgaT0wO2k8aztpKyspewogICAgICAgICAgICBpbnQgeCx5OwogICAgICAgICAgICBjaW4+Png+Pnk7CiAgICAgICAgICAgIGlmKHg+eSlzd2FwKHgseSk7CiAgICAgICAgICAgIGFbaV09e3gseX07CiAgICAgICAgICAgIG1wW3t4LHl9XT1pOwogICAgICAgIH0KICAgICAgICB2ZWN0b3I8Ym9vbD5zdXJ2aXZlZChrLDEpOwogICAgICAgIHZlY3RvcjxwYWlyPHN0cmluZyxwYWlyPGludCxpbnQ+Pj5xcyhtKTsKICAgICAgICBmb3IoaW50IGk9MDtpPG07aSsrKXsKICAgICAgICAgICAgc3RyaW5nIHM7CiAgICAgICAgICAgIGNpbj4+czsKICAgICAgICAgICAgaW50IHgseTsKICAgICAgICAgICAgY2luPj54Pj55OwogICAgICAgICAgICBxc1tpXT17cyx7eCx5fX07CiAgICAgICAgICAgIGlmKHM9PSJjdXQiKXsKICAgICAgICAgICAgICAgaWYoeD55KXN3YXAoeCx5KTsKICAgICAgICAgICAgYXV0byBpdD1tcC5maW5kKHt4LHl9KTsKICAgICAgICAgICAgaWYoaXQhPW1wLmVuZCgpKXsKICAgICAgICAgICAgICAgIHN1cnZpdmVkW21wW3t4LHl9XV09MDsKICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvcihpbnQgaT0wO2k8aztpKyspewogICAgICAgICAgICBpZihzdXJ2aXZlZFtpXSl7CiAgICAgICAgICAgICAgICBkc3UudW5pb25fc2V0KGFbaV0uZmlyc3QsYVtpXS5zZWNvbmQpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHZlY3RvcjxzdHJpbmc+YW5zOwogICAgICAgIGZvcihpbnQgaT1xcy5zaXplKCktMTtpPj0wO2ktLSl7CiAgICAgICAgICAgICAgIGlmKHFzW2ldLmZpcnN0PT0iYXNrIil7CiAgICAgICAgICAgICAgICBib29sIGlzPWRzdS5zYW1lbChxc1tpXS5zZWNvbmQuZmlyc3QscXNbaV0uc2Vjb25kLnNlY29uZCk7CiAgICAgICAgICAgICAgICBzdHJpbmcgaz0oaXM/IllFU1xuIjoiTk9cbiIpOwogICAgICAgICAgICAgICAgYW5zLnB1c2hfYmFjayhrKTsKICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgZHN1LnVuaW9uX3NldChxc1tpXS5zZWNvbmQuZmlyc3QscXNbaV0uc2Vjb25kLnNlY29uZCk7CiAgICAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV2ZXJzZShhbnMuYmVnaW4oKSxhbnMuZW5kKCkpOwogICAgICAgIGZvcihpbnQgaT0wO2k8YW5zLnNpemUoKTtpKyspewogICAgICAgICAgICBjb3V0PDxhbnNbaV07CiAgICAgICAgfQogICAgICAgIHJldHVybiAwOwogICAgfQ==