#include<iostream>
#include<vector>
#include<algorithm>
#include<set>
#include<iomanip>
#include<queue>
#include<cmath>
#include<stack>
#include <map>
#define ll long long
#define skip cin>>ws;
#define vll vector<ll>
#define vi vector<int>
#define vb vector<bool>
#define vpll vector<pair<ll,ll>>
#define vvll vector<vector<ll>>
#define vvi vector<vector<int>>
#define pll pair<ll,ll>
#define vs vector<string>
#define vvpll vector<vector<pair<ll, ll>>>
#define pb push_back
#define pob pop_back()
#define MOD (ll)(1e9)
#define MOD2 (ll)(998244353)
#define INF (ll)(1e18 + 5)
#define count1(n) __builtin_popcountll(n)
#define test ll t; cin>>t; while(t--)
#define enter(a) for(ll i=0;i<a.size();i++) cin>>a[i];
#define show(a) for(ll e: a) cout<<e<<" "; cout<<"\n";
using namespace std;
ll mo(ll a){ return a%MOD;}
ll po(ll x, ll y, ll p)
{
ll res = 1; x = x % p;
while (y > 0) { if (y & 1) res = (res * x) % p; y >>= 1; x = (x * x) % p; }
return res%p;
}
struct dsu
{
int n;
vll a, rank, siz;
void init(ll si)
{
n = si;
a.resize(n); rank.resize(n); siz.assign(n, 1);
for(ll i=0;i<n;i++)
{
rank[i] = 1; a[i] = i;
}
}
ll get(ll i)
{
return a[i] = ((i==a[i])?i:get(a[i]));
}
void unio(ll i, ll j)
{
ll x = get(i), y = get(j);
if(x==y) return;
if(rank[x]==rank[y]) rank[x]++;
if(rank[y]>rank[x]) swap(x, y);
a[y] = x;
siz[x] += siz[y];
}
ll get_size(ll i)
{
return siz[get(i)];
}
};
struct ed
{
ll x, y;
};
struct query{
string q;
ll x,y;
};
int main()
{
//freopen("input.txt","r",stdin),freopen("output.txt","w",stdout);
ios_base::sync_with_stdio(false);
cin.tie(NULL);
ll n,m,k;
cin>>n>>m>>k;
ed edge[m+1];
query qt[k+1];
for(ll i=0;i<m;i++)
{cin>>edge[i].x>>edge[i].y;}
for(ll i=0;i<k;i++){
cin>>qt[i].q>>qt[i].x>>qt[i].y;
}
dsu dt;
vector<string > ans;
dt.init(n);
for(ll i=(k-1);i>=0;i--){
string qy=qt[i].q;
ll x=qt[i].x;
ll y=qt[i].y;
x--,y--;
if(qy=="ask"){
//cout<<x<<" "<<y<<endl;
if(dt.get(x)==dt.get(y)){
ans.pb("YES");
}else{
ans.pb("NO");
}}else{
dt.unio(x,y);
}
}
for(ll i=ans.size()-1;i>=0;i--){
cout<<ans[i]<<endl;
}
// cout<<ans<<"\n";
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHZlY3Rvcj4KI2luY2x1ZGU8YWxnb3JpdGhtPgojaW5jbHVkZTxzZXQ+CiNpbmNsdWRlPGlvbWFuaXA+CiNpbmNsdWRlPHF1ZXVlPgojaW5jbHVkZTxjbWF0aD4KI2luY2x1ZGU8c3RhY2s+CiNpbmNsdWRlIDxtYXA+IAogCiNkZWZpbmUgbGwgICAgICAgICAgICAgICAgICAgbG9uZyBsb25nCiNkZWZpbmUgc2tpcCAgICAgICAgICAgICAgICAgY2luPj53czsKI2RlZmluZSB2bGwgICAgICAgICAgICAgICAgICB2ZWN0b3I8bGw+IAojZGVmaW5lIHZpICAgICAgICAgICAgICAgICAgIHZlY3RvcjxpbnQ+CiNkZWZpbmUgdmIgICAgICAgICAgICAgICAgICAgdmVjdG9yPGJvb2w+CiNkZWZpbmUgdnBsbCAgICAgICAgICAgICAgICAgdmVjdG9yPHBhaXI8bGwsbGw+PgojZGVmaW5lIHZ2bGwgICAgICAgICAgICAgICAgIHZlY3Rvcjx2ZWN0b3I8bGw+PgojZGVmaW5lIHZ2aSAgICAgICAgICAgICAgICAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj4KI2RlZmluZSBwbGwgICAgICAgICAgICAgICAgICBwYWlyPGxsLGxsPgojZGVmaW5lIHZzICAgICAgICAgICAgICAgICAgIHZlY3RvcjxzdHJpbmc+CiNkZWZpbmUgdnZwbGwgICAgICAgICAgICAgICAgdmVjdG9yPHZlY3RvcjxwYWlyPGxsLCBsbD4+PgojZGVmaW5lIHBiICAgICAgICAgICAgICAgICAgIHB1c2hfYmFjawojZGVmaW5lIHBvYiAgICAgICAgICAgICAgICAgIHBvcF9iYWNrKCkKI2RlZmluZSBNT0QgICAgICAgICAgICAgICAgICAobGwpKDFlOSkKI2RlZmluZSBNT0QyICAgICAgICAgICAgICAgICAobGwpKDk5ODI0NDM1MykKI2RlZmluZSBJTkYgICAgICAgICAgICAgICAgICAobGwpKDFlMTggKyA1KQojZGVmaW5lIGNvdW50MShuKSAgICAgICAgICAgIF9fYnVpbHRpbl9wb3Bjb3VudGxsKG4pCiNkZWZpbmUgdGVzdCAgICAgICAgICAgICAgICAgbGwgdDsgY2luPj50OyB3aGlsZSh0LS0pCiNkZWZpbmUgZW50ZXIoYSkgICAgICAgICAgICAgZm9yKGxsIGk9MDtpPGEuc2l6ZSgpO2krKykgY2luPj5hW2ldOwojZGVmaW5lIHNob3coYSkgICAgICAgICAgICAgIGZvcihsbCBlOiBhKSBjb3V0PDxlPDwiICI7IGNvdXQ8PCJcbiI7CiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIApsbCBtbyhsbCBhKXsgcmV0dXJuIGElTU9EO30KIApsbCBwbyhsbCB4LCBsbCB5LCBsbCBwKQp7CiAgICBsbCByZXMgPSAxOyB4ID0geCAlIHA7ICAgCiAgICB3aGlsZSAoeSA+IDApIHsgaWYgKHkgJiAxKSByZXMgPSAocmVzICogeCkgJSBwOyB5ID4+PSAxOyB4ID0gKHggKiB4KSAlIHA7IH0gCiAgICByZXR1cm4gcmVzJXA7IAp9CiAKIApzdHJ1Y3QgZHN1CnsKICAgIGludCBuOwogICAgdmxsIGEsIHJhbmssIHNpejsKIAogICAgdm9pZCBpbml0KGxsIHNpKQogICAgewogICAgICAgIG4gPSBzaTsgCiAgICAgICAgYS5yZXNpemUobik7IHJhbmsucmVzaXplKG4pOyBzaXouYXNzaWduKG4sIDEpOwogICAgICAgIGZvcihsbCBpPTA7aTxuO2krKykgCiAgICAgICAgewogICAgICAgICAgICByYW5rW2ldID0gMTsgYVtpXSA9IGk7CiAgICAgICAgfQogICAgfQogCiAgICBsbCBnZXQobGwgaSkKICAgIHsKICAgICAgICByZXR1cm4gYVtpXSA9ICgoaT09YVtpXSk/aTpnZXQoYVtpXSkpOwogICAgfQogCiAgICB2b2lkIHVuaW8obGwgaSwgbGwgaikKICAgIHsKICAgICAgICBsbCB4ID0gZ2V0KGkpLCB5ID0gZ2V0KGopOwogICAgICAgIGlmKHg9PXkpIHJldHVybjsKICAgICAgICBpZihyYW5rW3hdPT1yYW5rW3ldKSByYW5rW3hdKys7CiAgICAgICAgaWYocmFua1t5XT5yYW5rW3hdKSBzd2FwKHgsIHkpOwogICAgICAgIGFbeV0gPSB4OwogICAgICAgIHNpelt4XSArPSBzaXpbeV07CiAgICB9CiAKICAgIGxsIGdldF9zaXplKGxsIGkpCiAgICB7CiAgICAgICAgcmV0dXJuIHNpeltnZXQoaSldOwogICAgfQp9OwogCnN0cnVjdCBlZAp7CiAgICBsbCB4LCB5Owp9OwpzdHJ1Y3QgcXVlcnl7CiAgICBzdHJpbmcgcTsKICAgIGxsIHgseTsKfTsKCmludCBtYWluKCkKewoKLy9mcmVvcGVuKCJpbnB1dC50eHQiLCJyIixzdGRpbiksZnJlb3Blbigib3V0cHV0LnR4dCIsInciLHN0ZG91dCk7CgogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKE5VTEwpOwogbGwgbixtLGs7CiBjaW4+Pm4+Pm0+Pms7CmVkIGVkZ2VbbSsxXTsKcXVlcnkgcXRbaysxXTsKZm9yKGxsIGk9MDtpPG07aSsrKQp7Y2luPj5lZGdlW2ldLng+PmVkZ2VbaV0ueTt9CmZvcihsbCBpPTA7aTxrO2krKyl7CiAgICBjaW4+PnF0W2ldLnE+PnF0W2ldLng+PnF0W2ldLnk7Cn0KCmRzdSBkdDsKdmVjdG9yPHN0cmluZyA+IGFuczsKZHQuaW5pdChuKTsKZm9yKGxsIGk9KGstMSk7aT49MDtpLS0pewpzdHJpbmcgcXk9cXRbaV0ucTsKbGwgeD1xdFtpXS54OwpsbCB5PXF0W2ldLnk7CngtLSx5LS07CmlmKHF5PT0iYXNrIil7CgovL2NvdXQ8PHg8PCIgIjw8eTw8ZW5kbDsKaWYoZHQuZ2V0KHgpPT1kdC5nZXQoeSkpewphbnMucGIoIllFUyIpOwoKfWVsc2V7CiAgICBhbnMucGIoIk5PIik7Cn19ZWxzZXsKCgpkdC51bmlvKHgseSk7Cn0KfQoKIAogZm9yKGxsIGk9YW5zLnNpemUoKS0xO2k+PTA7aS0tKXsKICAgIGNvdXQ8PGFuc1tpXTw8ZW5kbDsKIH0gICAKIAogLy8gICBjb3V0PDxhbnM8PCJcbiI7CiAKICAgIHJldHVybiAwOwp9IA==