#include "bits/stdc++.h"
using namespace std;
const int N = 3e5 + 5;
struct node{
node* left;
node* right;
int cnt;
node(){
left = NULL;
right = NULL;
cnt = 0;
}
node* insert(int l , int r , int val){
++cnt;
if(l < r){
int mid = l + r >> 1;
if(val <= mid){
if(left == NULL){
left = new node();
}
left = left -> insert(l , mid , val);
}
else{
if(right == NULL){
right = new node();
}
right = right -> insert(mid + 1 , r , val);
}
}
return this;
}
int kth(int l , int r , int k){
if(l == r){
return l;
}
int mid = l + r >> 1;
int count = (left == NULL) ? 0 : left -> cnt;
if(count >= k){
return left -> kth(l , mid , k);
}
return right -> kth(mid + 1 , r , k - count);
}
node* merge(node* other){
cnt += other -> cnt;
if(other -> left != NULL){
if(left == NULL){
left = other -> left;
}
else{
left = left -> merge(other -> left);
}
}
if(other -> right != NULL){
if(right == NULL){
right = other -> right;
}
else{
right = right -> merge(other -> right);
}
}
return this;
}
};
node* rdtree[N];
int n , q;
int idx1 , idx2 , cur , k;
char arr[6];
int main(){
scanf("%d %d" , &n , &q);
for(int i = 1 ; i <= n ; ++i){
rdtree[i] = new node();
rdtree[i] = rdtree[i] -> insert(1 , n , i);
}
cur = n;
while(q--){
scanf("%s" , arr);
if(arr[0] == 'U'){
scanf("%d %d" , &idx1 , &idx2);
rdtree[++cur] = rdtree[idx1];
rdtree[cur] = rdtree[cur] -> merge(rdtree[idx2]);
}
else{
scanf("%d %d" , &idx1 , &k);
printf("%d\n" , rdtree[idx1] -> kth(1 , n , k));
}
}
}
I2luY2x1ZGUgImJpdHMvc3RkYysrLmgiCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOID0gM2U1ICsgNTsKc3RydWN0IG5vZGV7CiAgICBub2RlKiBsZWZ0OwogICAgbm9kZSogcmlnaHQ7CiAgICBpbnQgY250OwogICAgbm9kZSgpewogICAgICAgIGxlZnQgPSBOVUxMOwogICAgICAgIHJpZ2h0ID0gTlVMTDsKICAgICAgICBjbnQgPSAwOwogICAgfQogICAgbm9kZSogaW5zZXJ0KGludCBsICwgaW50IHIgLCBpbnQgdmFsKXsKICAgICAgICArK2NudDsKICAgICAgICBpZihsIDwgcil7CiAgICAgICAgICAgIGludCBtaWQgPSBsICsgciA+PiAxOwogICAgICAgICAgICBpZih2YWwgPD0gbWlkKXsKICAgICAgICAgICAgICAgIGlmKGxlZnQgPT0gTlVMTCl7CiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IG5ldyBub2RlKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBsZWZ0ID0gbGVmdCAtPiBpbnNlcnQobCAsIG1pZCAsIHZhbCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgIGlmKHJpZ2h0ID09IE5VTEwpewogICAgICAgICAgICAgICAgICAgIHJpZ2h0ID0gbmV3IG5vZGUoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJpZ2h0ID0gcmlnaHQgLT4gaW5zZXJ0KG1pZCArIDEgLCByICwgdmFsKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gdGhpczsKICAgIH0KICAgIGludCBrdGgoaW50IGwgLCBpbnQgciAsIGludCBrKXsKICAgICAgICBpZihsID09IHIpewogICAgICAgICAgICByZXR1cm4gbDsKICAgICAgICB9CiAgICAgICAgaW50IG1pZCA9IGwgKyByID4+IDE7CiAgICAgICAgaW50IGNvdW50ID0gKGxlZnQgPT0gTlVMTCkgPyAwIDogbGVmdCAtPiBjbnQ7CiAgICAgICAgaWYoY291bnQgPj0gayl7CiAgICAgICAgICAgIHJldHVybiBsZWZ0IC0+IGt0aChsICwgbWlkICwgayk7CiAgICAgICAgfQogICAgICAgIHJldHVybiByaWdodCAtPiBrdGgobWlkICsgMSAsIHIgLCBrIC0gY291bnQpOwogICAgfQogICAgbm9kZSogbWVyZ2Uobm9kZSogb3RoZXIpewogICAgICAgIGNudCArPSBvdGhlciAtPiBjbnQ7CiAgICAgICAgaWYob3RoZXIgLT4gbGVmdCAhPSBOVUxMKXsKICAgICAgICAgICAgaWYobGVmdCA9PSBOVUxMKXsKICAgICAgICAgICAgICAgIGxlZnQgPSBvdGhlciAtPiBsZWZ0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICBsZWZ0ID0gbGVmdCAtPiBtZXJnZShvdGhlciAtPiBsZWZ0KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZihvdGhlciAtPiByaWdodCAhPSBOVUxMKXsKICAgICAgICAgICAgaWYocmlnaHQgPT0gTlVMTCl7CiAgICAgICAgICAgICAgICByaWdodCA9IG90aGVyIC0+IHJpZ2h0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICByaWdodCA9IHJpZ2h0IC0+IG1lcmdlKG90aGVyIC0+IHJpZ2h0KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gdGhpczsKICAgIH0KfTsKbm9kZSogcmR0cmVlW05dOwppbnQgbiAsIHE7CmludCBpZHgxICwgaWR4MiAsIGN1ciAsIGs7CmNoYXIgYXJyWzZdOwppbnQgbWFpbigpewogICAgc2NhbmYoIiVkICVkIiAsICZuICwgJnEpOwogICAgZm9yKGludCBpID0gMSA7IGkgPD0gbiA7ICsraSl7CiAgICAgICAgcmR0cmVlW2ldID0gbmV3IG5vZGUoKTsKICAgICAgICByZHRyZWVbaV0gPSByZHRyZWVbaV0gLT4gaW5zZXJ0KDEgLCBuICwgaSk7CiAgICB9CiAgICBjdXIgPSBuOwogICAgd2hpbGUocS0tKXsKICAgICAgICBzY2FuZigiJXMiICwgYXJyKTsKICAgICAgICBpZihhcnJbMF0gPT0gJ1UnKXsKICAgICAgICAgICAgc2NhbmYoIiVkICVkIiAsICZpZHgxICwgJmlkeDIpOwogICAgICAgICAgICByZHRyZWVbKytjdXJdID0gcmR0cmVlW2lkeDFdOwogICAgICAgICAgICByZHRyZWVbY3VyXSA9IHJkdHJlZVtjdXJdIC0+IG1lcmdlKHJkdHJlZVtpZHgyXSk7CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIHNjYW5mKCIlZCAlZCIgLCAmaWR4MSAsICZrKTsKICAgICAgICAgICAgcHJpbnRmKCIlZFxuIiAsIHJkdHJlZVtpZHgxXSAtPiBrdGgoMSAsIG4gLCBrKSk7CiAgICAgICAgfQogICAgfQp9