rt,样例都过不去
#include <bits/stdc++.h>
#define N 30001
using namespace std;
int T, fa[N], d[N], siz[N];
char op;
int find(int x) {
if(fa[x] == x) return x;
int tmp = find(fa[x]);
d[x] += d[fa[x]];
return fa[x] = tmp;
}
void merge(int x,int y) {
x = find(x), y = find(y);
fa[x] = y, d[x] += d[y];
siz[y] += siz[x];
siz[x] = siz[y];
}
int main() {
cin >> T;
for(int i = 1;i <= 30000; ++i) fa[i] = i, siz[i] = 1, d[i] = 0;
for(int i = 1,l, r;i <= T; ++i) {
cin >> op >> l >> r;
// printf("%c %d %d\n", op, l, r);
if(op == 'M')
merge(l, r);
if(op == 'C')
printf("%d\n", find(l)==find(r)?(abs(d[l] - d[r]) - 1):-1);
}
return 0;
}