//Lib
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<ctime>
#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
#include<queue>
#include<set>
#include<map>
using namespace std;
//Macro
#define rep(i,a,b) for(int i=a,tt=b;i<=tt;++i)
#define drep(i,a,b) for(int i=a,tt=b;i>=tt;--i)
#define erep(i,e,x) for(int i=x;i;i=e[i].next)
#define irep(i,x) for(__typeof(x.begin()) i=x.begin();i!=x.end();i++)
#define read() (strtol(ipos,&ipos,10))
#define sqr(x) ((x)*(x))
#define pb push_back
#define PS system("pause");
typedef long long ll;
typedef pair<int,int> pii;
const int oo=~0U>>1;
const double inf=1e100;
const double eps=1e-6;
string name="", in=".in", out=".out";
//Var
struct BIT
{
int s[500008],limit;
void Set(int l){memset(s,0,sizeof s);limit=l;}
inline int lowbit(int x){return x&-x;}
void Update(int a,int b)
{
for(int i=a;i<=limit;i+=lowbit(i))
s[i]+=b;
}
int Get(int a)
{
int ret=0;
for(int i=a;i>0;i-=lowbit(i))
ret+=s[i];
return ret;
}
}T;
struct E
{
int next,node;
}e[500008];
int tot=1,cnt,n,m,h[250008],evis[500008],vin[250008],vout[250008];
void add(int a,int b){e[++tot].next=h[a];e[tot].node=b;h[a]=tot;}
void Init()
{
int a,b;
scanf("%d",&n);
rep(i,1,n-1)
scanf("%d%d",&a,&b),add(a,b),add(b,a);
T.Set(n<<1);
}
void DFS(int fa,int u)
{
vin[u]=++cnt;
T.Update(vin[u],1);
erep(i,e,h[u])
if(e[i].node!=fa)
DFS(u,e[i].node),evis[i]=true;
vout[u]=++cnt;
T.Update(vout[u],-1);
}
void Work()
{
DFS(0,1);
int a,b,flag;char ch;
scanf("%d%*c",&m);
rep(i,1,n-1+m)
{
scanf("%c",&ch);
if(ch=='A')
{
scanf("%d%d%*c",&a,&b);
erep(i,e,h[a])if(e[i].node==b){flag=i;break;}
if(!evis[flag])swap(a,b);
T.Update(vin[b],-1);
T.Update(vout[b],1);
}
else
{
scanf("%d%*c",&a);
printf("%d\n",T.Get(vin[a])-1);
}
}
}
int main()
{
// freopen((name+vin).c_str(),"r",stdin);
// freopen((name+vout).c_str(),"w",stdout);
Init();
Work();
return 0;
}
Ly9MaWIKI2luY2x1ZGU8Y3N0ZGlvPgojaW5jbHVkZTxjc3RyaW5nPgojaW5jbHVkZTxjc3RkbGliPgojaW5jbHVkZTxjbWF0aD4KI2luY2x1ZGU8Y3RpbWU+CiAKI2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxzdHJpbmc+CiNpbmNsdWRlPHF1ZXVlPgojaW5jbHVkZTxzZXQ+CiNpbmNsdWRlPG1hcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLy9NYWNybwojZGVmaW5lIHJlcChpLGEsYikgIGZvcihpbnQgaT1hLHR0PWI7aTw9dHQ7KytpKQojZGVmaW5lIGRyZXAoaSxhLGIpIGZvcihpbnQgaT1hLHR0PWI7aT49dHQ7LS1pKQojZGVmaW5lIGVyZXAoaSxlLHgpIGZvcihpbnQgaT14O2k7aT1lW2ldLm5leHQpCiNkZWZpbmUgaXJlcChpLHgpICAgZm9yKF9fdHlwZW9mKHguYmVnaW4oKSkgaT14LmJlZ2luKCk7aSE9eC5lbmQoKTtpKyspCiNkZWZpbmUgcmVhZCgpICAoc3RydG9sKGlwb3MsJmlwb3MsMTApKQojZGVmaW5lIHNxcih4KSAgKCh4KSooeCkpCiNkZWZpbmUgcGIgIHB1c2hfYmFjawojZGVmaW5lIFBTICBzeXN0ZW0oInBhdXNlIik7CnR5cGVkZWYgbG9uZyBsb25nICAgbGw7CnR5cGVkZWYgcGFpcjxpbnQsaW50PiBwaWk7CmNvbnN0IGludCBvbz1+MFU+PjE7CmNvbnN0IGRvdWJsZSBpbmY9MWUxMDA7CmNvbnN0IGRvdWJsZSBlcHM9MWUtNjsKc3RyaW5nIG5hbWU9IiIsIGluPSIuaW4iLCBvdXQ9Ii5vdXQiOwovL1ZhcgpzdHJ1Y3QgQklUCnsKICAgIGludCBzWzUwMDAwOF0sbGltaXQ7CiAgICB2b2lkIFNldChpbnQgbCl7bWVtc2V0KHMsMCxzaXplb2Ygcyk7bGltaXQ9bDt9CiAgICBpbmxpbmUgaW50IGxvd2JpdChpbnQgeCl7cmV0dXJuIHgmLXg7fQogICAgdm9pZCBVcGRhdGUoaW50IGEsaW50IGIpCiAgICB7CiAgICAgICAgZm9yKGludCBpPWE7aTw9bGltaXQ7aSs9bG93Yml0KGkpKQogICAgICAgICAgICBzW2ldKz1iOwogICAgfQogICAgaW50IEdldChpbnQgYSkKICAgIHsKICAgICAgICBpbnQgcmV0PTA7CiAgICAgICAgZm9yKGludCBpPWE7aT4wO2ktPWxvd2JpdChpKSkKICAgICAgICAgICAgcmV0Kz1zW2ldOwogICAgICAgIHJldHVybiByZXQ7CiAgICB9Cn1UOwpzdHJ1Y3QgRQp7CiAgICBpbnQgbmV4dCxub2RlOwp9ZVs1MDAwMDhdOwppbnQgdG90PTEsY250LG4sbSxoWzI1MDAwOF0sZXZpc1s1MDAwMDhdLHZpblsyNTAwMDhdLHZvdXRbMjUwMDA4XTsKdm9pZCBhZGQoaW50IGEsaW50IGIpe2VbKyt0b3RdLm5leHQ9aFthXTtlW3RvdF0ubm9kZT1iO2hbYV09dG90O30Kdm9pZCBJbml0KCkKewogICAgaW50IGEsYjsKICAgIHNjYW5mKCIlZCIsJm4pOwogICAgcmVwKGksMSxuLTEpCiAgICAgICAgc2NhbmYoIiVkJWQiLCZhLCZiKSxhZGQoYSxiKSxhZGQoYixhKTsKICAgIFQuU2V0KG48PDEpOwp9CnZvaWQgREZTKGludCBmYSxpbnQgdSkKewogICAgdmluW3VdPSsrY250OwogICAgVC5VcGRhdGUodmluW3VdLDEpOwogICAgZXJlcChpLGUsaFt1XSkKICAgICAgICBpZihlW2ldLm5vZGUhPWZhKQogICAgICAgICAgICBERlModSxlW2ldLm5vZGUpLGV2aXNbaV09dHJ1ZTsKICAgIHZvdXRbdV09KytjbnQ7CiAgICBULlVwZGF0ZSh2b3V0W3VdLC0xKTsKfQp2b2lkIFdvcmsoKQp7CiAgICBERlMoMCwxKTsKICAgIGludCBhLGIsZmxhZztjaGFyIGNoOwogICAgc2NhbmYoIiVkJSpjIiwmbSk7CiAgICByZXAoaSwxLG4tMSttKQogICAgewogICAgICAgIHNjYW5mKCIlYyIsJmNoKTsKICAgICAgICBpZihjaD09J0EnKQogICAgICAgIHsKICAgICAgICAgICAgc2NhbmYoIiVkJWQlKmMiLCZhLCZiKTsKICAgICAgICAgICAgZXJlcChpLGUsaFthXSlpZihlW2ldLm5vZGU9PWIpe2ZsYWc9aTticmVhazt9CiAgICAgICAgICAgIGlmKCFldmlzW2ZsYWddKXN3YXAoYSxiKTsKICAgICAgICAgICAgVC5VcGRhdGUodmluW2JdLC0xKTsKICAgICAgICAgICAgVC5VcGRhdGUodm91dFtiXSwxKTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgc2NhbmYoIiVkJSpjIiwmYSk7CiAgICAgICAgICAgIHByaW50ZigiJWRcbiIsVC5HZXQodmluW2FdKS0xKTsKICAgICAgICB9CiAgICB9Cn0KaW50IG1haW4oKQp7Ci8vICBmcmVvcGVuKChuYW1lK3ZpbikuY19zdHIoKSwiciIsc3RkaW4pOwovLyAgZnJlb3BlbigobmFtZSt2b3V0KS5jX3N0cigpLCJ3IixzdGRvdXQpOwogICAgSW5pdCgpOwogICAgV29yaygpOwogICAgcmV0dXJuIDA7Cn0=