rt
#include<bits/stdc++.h>
using namespace std;
#define int long long
int f[514191],num[514191],n=30000,t,t1,t2;
char t114;
int find(int k)
{
if(f[k]!=k)
{
int t3=find(f[k]);
if(t3!=f[k])num[k]=num[k]+num[t3]+1;
f[k]=t3;
}
return f[k];
}
void merge(int k1,int k2)
{
f[find(k1)]=f[find(k2)];
}
signed main()
{
scanf("%lld",&t);
for(int i=1;i<=n;++i)f[i]=i;
for(int i=1;i<=t;++i)
{
cin>>t114>>t1>>t2;
if(t114=='M')merge(t1,t2);
else
{
find(t2);find(t1);
printf("%lld\n",(find(t1)==find(t2))?abs(num[t2]-num[t1]):(long long)(-1));
}
}
return 0;
}