#include <bits/stdc++.h>
#define F first
#define S second
using namespace std;
int const N=300001,poc=1<<19;
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;
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=tree[v];
v/=2;
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;
if(gl[a]>gl[b]) swap(a,b);
a=odw[b].F+poc;
b=odw[b].S+poc;
Update(1,poc+1,2*poc);
}
else{
cin>>a;
cout<<gl[a]-Read(odw[a].F+poc)<<"\n";
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgRiBmaXJzdAojZGVmaW5lIFMgc2Vjb25kCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBjb25zdCBOPTMwMDAwMSxwb2M9MTw8MTk7CmludCB0cmVlWzIqcG9jKzFdLGdsW05dLGw9MSx3LGEsYixjOwpwYWlyPGludCxpbnQ+b2R3W05dOwp2ZWN0b3I8aW50PmdbTl07Cgp2b2lkIGRmcyhpbnQgdil7CiAgICBvZHdbdl0uRj1sOwogICAgZm9yKGludCBpOmdbdl0pewogICAgICAgIGlmKG9kd1tpXS5GPT0wKSB7CiAgICAgICAgCWlmKGdsW2ldPT0wKSBnbFtpXT1nbFt2XSsxOwogICAgICAgIAlkZnMoaSk7CiAgICAgICAgfQogICAgfQogICAgb2R3W3ZdLlM9bDsKICAgIGwrKzsKfQoKdm9pZCBVcGRhdGUoaW50IHYsaW50IHAsaW50IGspewogICAgaWYoYjxwfHxrPGEpIHJldHVybjsKICAgIGlmKGE8PXAmJms8PWIpIHRyZWVbdl0rKzsKICAgIGVsc2V7CiAgICAgICAgVXBkYXRlKDIqdixwLChwK2spLzIpOyBVcGRhdGUoMip2KzEsKHAraykvMisxLGspOwogICAgfQp9CgppbnQgUmVhZChpbnQgdil7CiAgICB3PXRyZWVbdl07CiAgICB2Lz0yOwogICAgd2hpbGUodj4wKXsKICAgICAgICB3Kz10cmVlW3ZdOwogICAgICAgIHYvPTI7CiAgICB9CiAgICByZXR1cm4gdzsKfQoKaW50IG1haW4oKXsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CgljaW4udGllKDApOwogICAgaW50IG4sbTsKICAgIGNoYXIgeDsKICAgIGNpbj4+bjsKICAgIGZvcihpbnQgaT0xO2k8bjtpKyspewogICAgICAgIGNpbj4+YT4+YjsKICAgICAgICBnW2FdLnB1c2hfYmFjayhiKTsKICAgICAgICBnW2JdLnB1c2hfYmFjayhhKTsKICAgIH0KICAgIGRmcygxKTsKICAgIGNpbj4+bTsKICAgIGZvcihpbnQgaT0xO2k8bittO2krKyl7CiAgICAgICAgY2luPj54OwogICAgICAgIGlmKHg9PSdBJyl7CiAgICAgICAgICAgIGNpbj4+YT4+YjsKICAgICAgICAgICAgaWYoZ2xbYV0+Z2xbYl0pIHN3YXAoYSxiKTsKICAgICAgICAgICAgYT1vZHdbYl0uRitwb2M7CiAgICAgICAgICAgIGI9b2R3W2JdLlMrcG9jOwogICAgICAgICAgICBVcGRhdGUoMSxwb2MrMSwyKnBvYyk7CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIGNpbj4+YTsKICAgICAgICAgICAgY291dDw8Z2xbYV0tUmVhZChvZHdbYV0uRitwb2MpPDwiXG4iOwogICAgICAgIH0KICAgIH0KfQ==