#include<bits/stdc++.h>
using namespace std;
const int N=3e4+5;
int read()
{
int ans=0;
char c=getchar();
while(c<'0'||c>'9')
c=getchar();
while(c>='0'&&c<='9')
ans=(ans<<1)+(ans<<3)+c-'0',c=getchar();
return ans;
}
int fa[N],fa1[N];
int djg[N];
vector<int>z[N];
int faa;
int dx[N],n;
int cx(int x)
{
if(fa[x]!=x)
fa[x]=cx(fa[x]);
return fa[x];
}
void hb(int x,int y)
{
int u=cx(x);
int v=cx(y);
fa[u]=v;
djg[u]=z[v].size();
fa1[u]=v;
z[v].push_back(dx[v]);
dx[v]+=dx[u];
}
int ccx(int x,int y)
{
if(fa1[x]==x)
return y;
return ccx(fa1[x],y+z[fa1[x]][djg[x]]);
}
int main()
{
n=read();
for(int i=1;i<=N-5;i++)
dx[i]=1,fa[i]=i,fa1[i]=i;
for(int i=1,u,v;i<=n;i++)
{
char c=getchar();
u=read(),v=read();
if(c=='M')
hb(u,v);
else
{
int x=cx(u);
int y=cx(v);
if(x!=y)
{
printf("-1\n");
continue;
}
x=ccx(u,0);
y=ccx(v,0);
if(x<y)
swap(x,y);
if(x==y)
printf("0\n");
else
printf("%d\n",x-y-1);
}
}
}