//team: iiitians
#include <stdio.h>
int ans = 0,n,tree[1000002];
inline void fun(int x) {
if (x > n) {
return ;
}
fun(x*2);
if (tree[x] == 0) {
ans++;
}
fun((x*2)+1);
}
int main() {
int q
;scanf("%d%d",&n
,&q
); int i;
for (i = 0; i < n-1; i++) {
int a
,b
;scanf("%d%d",&a
,&b
); }
for (i = 1; i < n+1; i++) {
}
for (i = 0; i < q; i++) {
if (c == 'U') {
int x
,v
;scanf("%d%d",&x
,&v
); tree[x] = tree[x] + v;
}
else if (c == 'Q') {
ans = 0;
fun(x);
}
}
return 0;
}
Ly90ZWFtOiBpaWl0aWFucwoKI2luY2x1ZGUgPHN0ZGlvLmg+CmludCBhbnMgPSAwLG4sdHJlZVsxMDAwMDAyXTsKaW5saW5lIHZvaWQgZnVuKGludCB4KSB7CglpZiAoeCA+IG4pIHsKCQlyZXR1cm4gOwoJfQoJZnVuKHgqMik7CglpZiAodHJlZVt4XSA9PSAwKSB7CgkJYW5zKys7Cgl9CglmdW4oKHgqMikrMSk7Cn0KaW50IG1haW4oKSB7CglpbnQgcTtzY2FuZigiJWQlZCIsJm4sJnEpOwoJaW50IGk7Cglmb3IgKGkgPSAwOyBpIDwgbi0xOyBpKyspIHsKCQlpbnQgYSxiO3NjYW5mKCIlZCVkIiwmYSwmYik7Cgl9Cglmb3IgKGkgPSAxOyBpIDwgbisxOyBpKyspIHsKCQlzY2FuZigiJWQiLCZ0cmVlW2ldKTsKCX0KCWdldGNoYXIoKTsKCWZvciAoaSA9IDA7IGkgPCBxOyBpKyspIHsKCQljaGFyIGMgPSBnZXRjaGFyKCk7CgkJZ2V0Y2hhcigpOwoJCWlmIChjID09ICdVJykgewoJCQlpbnQgeCx2O3NjYW5mKCIlZCVkIiwmeCwmdik7CgkJCWdldGNoYXIoKTsKCQkJdHJlZVt4XSA9IHRyZWVbeF0gKyB2OwoJCX0KCQllbHNlIGlmIChjID09ICdRJykgewoJCQlhbnMgPSAwOwoJCQlpbnQgeDtzY2FuZigiJWQiLCZ4KTsKCQkJZ2V0Y2hhcigpOwoJCQlmdW4oeCk7CgkJCXByaW50ZigiJWRcbiIsYW5zKTsKCQl9Cgl9CglyZXR1cm4gMDsKfQ==