#include <stdio.h>
#include <stdlib.h>
long int array[1000001] = {0};
void increment(int value,int idx,int size)
{
long int lenBIT = size + 1;
long int i = idx + 1;
while (i < lenBIT)
{
array[i] += value;
i += (i & -i);
}
}
long int query(long int idx)
{
long int i = idx + 1;
long int sum = 0;
while (i)
{
sum += array[i];
i -= (i & -i);
}
return sum;
}
int main (void)
{
int n,q,i,temp;
for (i = 0; i < n; ++i)
{
increment(temp, i, n);
}
for (q; q > 0; --q)
{
char c[10] = {0};
if ((c[0] == 'G'))
increment(c[4]-48, c[2]-48, n);
else if ((c[0] == 'T'))
increment(-(c[4]-48), c[2]-48, n);
else if (c[0] == 'S')
printf ("%ld\n", (query
(c
[4]-48) - query
(c
[2]-48-1))); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KbG9uZyBpbnQgYXJyYXlbMTAwMDAwMV0gPSB7MH07CnZvaWQgaW5jcmVtZW50KGludCB2YWx1ZSxpbnQgaWR4LGludCBzaXplKQp7Cglsb25nIGludCBsZW5CSVQgPSBzaXplICsgMTsKCWxvbmcgaW50IGkgPSBpZHggKyAxOwoJd2hpbGUgKGkgPCBsZW5CSVQpCgl7CgkJYXJyYXlbaV0gKz0gdmFsdWU7CgkJaSArPSAoaSAmIC1pKTsKCX0KfQpsb25nIGludCBxdWVyeShsb25nIGludCBpZHgpCnsKCWxvbmcgaW50IGkgPSBpZHggKyAxOwoJbG9uZyBpbnQgc3VtID0gMDsKCXdoaWxlIChpKQoJewoJCXN1bSArPSBhcnJheVtpXTsKCQlpIC09IChpICYgLWkpOwoJfQoJcmV0dXJuIHN1bTsKfQkJCmludCBtYWluICh2b2lkKQp7CglpbnQgbixxLGksdGVtcDsKCXNjYW5mICgiJWQgJWQiLCZuLCZxKTsKCWZvciAoaSA9IDA7IGkgPCBuOyArK2kpCgl7CgkJc2NhbmYgKCIlZCIsJnRlbXApOwoJCWluY3JlbWVudCh0ZW1wLCBpLCBuKTsKCX0JCglmb3IgKHE7IHEgPiAwOyAtLXEpCgl7CgkJZ2V0Y2hhcigpOwoJCWNoYXIgY1sxMF0gPSB7MH07CgkJc2NhbmYgKCIlYyIsYyk7CgkJaWYgKChjWzBdID09ICdHJykpCgkJCWluY3JlbWVudChjWzRdLTQ4LCBjWzJdLTQ4LCBuKTsKCQllbHNlIGlmICgoY1swXSA9PSAnVCcpKQoJCQlpbmNyZW1lbnQoLShjWzRdLTQ4KSwgY1syXS00OCwgbik7CgkJZWxzZSBpZiAoY1swXSA9PSAnUycpCgkJCXByaW50ZiAoIiVsZFxuIiwgKHF1ZXJ5KGNbNF0tNDgpIC0gcXVlcnkoY1syXS00OC0xKSkpOwoJfQkJCglyZXR1cm4gMDsKfQk=