#include <bits/stdc++.h>
#define F first
#define S second
using namespace std;
int const N=250001,poc=1<<18;
int tree[2*poc+1],gl[N],l=1,w,a,b,c;
pair<int,int>odw[N];
vector<int>g[N];
void dfs(int v){
odw[v].F=l;
l++;
for(int i:g[v]){
if(odw[i].F==0) {
if(gl[i]==0) gl[i]=gl[v]+1;
dfs(i);
}
}
odw[v].S=l;
l++;
}
void Update(int v,int p,int k){
if(b<p||k<a) return;
if(a<=p&&k<=b) tree[v]++;
else{
Update(2*v,p,(p+k)/2); Update(2*v+1,(p+k)/2+1,k);
}
}
int Read(int v){
w=0;
while(v>0){
w+=tree[v];
v/=2;
}
return w;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int n,m;
char x;
cin>>n;
for(int i=1;i<n;i++){
cin>>a>>b;
g[a].push_back(b);
g[b].push_back(a);
}
dfs(1);
cin>>m;
for(int i=1;i<n+m;i++){
cin>>x;
if(x=='A'){
cin>>a>>b;
a=odw[b].F+poc;
b=odw[b].S+poc;
Update(1,poc+1,2*poc+1);
}
else{
cin>>a;
cout<<gl[a]-Read(odw[a].F+poc-1)<<"\n";
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgRiBmaXJzdAojZGVmaW5lIFMgc2Vjb25kCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBjb25zdCBOPTI1MDAwMSxwb2M9MTw8MTg7CmludCB0cmVlWzIqcG9jKzFdLGdsW05dLGw9MSx3LGEsYixjOwpwYWlyPGludCxpbnQ+b2R3W05dOwp2ZWN0b3I8aW50PmdbTl07Cgp2b2lkIGRmcyhpbnQgdil7CiAgICBvZHdbdl0uRj1sOwogICAgbCsrOwogICAgZm9yKGludCBpOmdbdl0pewogICAgICAgIGlmKG9kd1tpXS5GPT0wKSB7CiAgICAgICAgCWlmKGdsW2ldPT0wKSBnbFtpXT1nbFt2XSsxOwogICAgICAgIAlkZnMoaSk7CiAgICAgICAgfQogICAgfQogICAgb2R3W3ZdLlM9bDsKICAgIGwrKzsKfQoKdm9pZCBVcGRhdGUoaW50IHYsaW50IHAsaW50IGspewogICAgaWYoYjxwfHxrPGEpIHJldHVybjsKICAgIGlmKGE8PXAmJms8PWIpIHRyZWVbdl0rKzsKICAgIGVsc2V7CiAgICAgICAgVXBkYXRlKDIqdixwLChwK2spLzIpOyBVcGRhdGUoMip2KzEsKHAraykvMisxLGspOwogICAgfQp9CgppbnQgUmVhZChpbnQgdil7CiAgICB3PTA7CiAgICB3aGlsZSh2PjApewogICAgICAgIHcrPXRyZWVbdl07CiAgICAgICAgdi89MjsKICAgIH0KICAgIHJldHVybiB3Owp9CgppbnQgbWFpbigpewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKCWNpbi50aWUoMCk7CiAgICBpbnQgbixtOwogICAgY2hhciB4OwogICAgY2luPj5uOwogICAgZm9yKGludCBpPTE7aTxuO2krKyl7CiAgICAgICAgY2luPj5hPj5iOwogICAgICAgIGdbYV0ucHVzaF9iYWNrKGIpOwogICAgICAgIGdbYl0ucHVzaF9iYWNrKGEpOwogICAgfQogICAgZGZzKDEpOwogICAgY2luPj5tOwogICAgZm9yKGludCBpPTE7aTxuK207aSsrKXsKICAgICAgICBjaW4+Png7CiAgICAgICAgaWYoeD09J0EnKXsKICAgICAgICAgICAgY2luPj5hPj5iOwogICAgICAgICAgICBhPW9kd1tiXS5GK3BvYzsKICAgICAgICAgICAgYj1vZHdbYl0uUytwb2M7CiAgICAgICAgICAgIFVwZGF0ZSgxLHBvYysxLDIqcG9jKzEpOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICBjaW4+PmE7CiAgICAgICAgICAgIGNvdXQ8PGdsW2FdLVJlYWQob2R3W2FdLkYrcG9jLTEpPDwiXG4iOwogICAgICAgIH0KICAgIH0KfQ==