#include <iostream> using namespace std; const int N = 100010; int n, m; int p[N], size[N]; int find(int x) { if (p[x] != x) p[x] = find(p[x]); return p[x]; } int main() { cin >> n >> m; for (int i = 1; i <= n; i ++ ) { p[i] = i; size[i] = 1; } while (m -- ) { string op; int a,b; cin>>op; if(op=="C") { cin>>a>>b; if(find(a)==find(b)) continue; size[find(b)]+=size[find(a)]; p[find(a)]=find(b); }else if(op=="Q1"){ cin>>a>>b; if(find(a)==find(b)) puts("Yes"); else puts("No"); } else { cin>>a; cout<<size[find(a)]<<endl; } } return 0; }