#include <bits/stdc++.h>
#ifndef _WIN32
#define getchar getchar_unlocked
#endif
#define ll long long
#define MAGIC 32
using namespace std;
inline int ri()
{
register char c;
register bool sgn = 0;
while(1)
{
c=getchar();
if(c == '-')
{
sgn = 1;
c = getchar();
break;
}
if(c>='0' && c<='9')break;
}
register int x=0;
while(1)
{
x=x*10+c-48;
c=getchar();
if(c<'0' || c>'9')return sgn?-x:x;
}
}
int n, q, a[50010];
map<int, set<int> > occ;
map<int, ll> bit[50010];
ll realbit[50010 / MAGIC + 1][50010];
void update(int i, int j, int v)
{
while(i <= n)
{
if((i & -i) >= MAGIC)
{
int b = i / MAGIC;
for(int k=j; k<=n; k += k&-k)
realbit[b][k] += v;
}
else for(int k=j; k<=n; k += k&-k)
bit[i][k] += v;
i += i&-i;
}
}
ll query(int i, int j)
{
ll sum = 0;
while(i > 0)
{
if((i & -i) >= MAGIC)
{
int b = i / MAGIC;
for(int k=j; k>0; k -= k&-k)
sum += realbit[b][k];
}
else for(int k=j; k>0; k -= k&-k)
sum += bit[i][k];
i -= i&-i;
}
return sum;
}
int32_t main()
{
n = ri();
n++;
for(int i=2; i<=n; i++)
a[i] = ri();
for(int i=2; i<=n; i++)
{
set<int> &cur = occ[a[i]];
if(cur.size() == 0)
{
update(i, 1, a[i]);
}
else
{
update(i, *cur.rbegin(), a[i]);
}
cur.insert(i);
}
q = ri();
for(int i=0; i<q; i++)
{
char op = getchar();
int x, y;
while(op != 'U' && op != 'Q')
op = getchar();
x = ri(), y = ri();
x++;
if(op == 'Q')
{
y++;
printf("%lld\n", query(y, x-1) - query(x-1, x-1));
}
else
{
//erase old element
set<int> &cur = occ[a[x]];
auto j = cur.find(x);
int prv;
if(j != cur.begin())
{
j--;
prv = *j;
j++;
}
else
{
prv = 1;
}
update(x, prv, -a[x]);
j = cur.erase(j);
if(j != cur.end())
{
update(*j, x, -a[x]);
update(*j, prv, a[x]);
}
//insert new element
a[x] = y;
set<int> &cur2 = occ[y];
j = cur2.insert(x).first;
if(j != cur2.begin())
{
j--;
prv = *j;
j++;
}
else
{
prv = 1;
}
update(x, prv, y);
j++;
if(j != cur2.end())
{
update(*j, x, y);
update(*j, prv, -y);
}
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpZm5kZWYgX1dJTjMyCiNkZWZpbmUgZ2V0Y2hhciBnZXRjaGFyX3VubG9ja2VkCiNlbmRpZgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIE1BR0lDIDMyCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmlubGluZSBpbnQgcmkoKQp7CiAgICByZWdpc3RlciBjaGFyIGM7CiAgICByZWdpc3RlciBib29sIHNnbiA9IDA7CiAgICB3aGlsZSgxKQogICAgewogICAgICAgIGM9Z2V0Y2hhcigpOwogICAgICAgIGlmKGMgPT0gJy0nKQogICAgICAgIHsKICAgICAgICAgICAgc2duID0gMTsKICAgICAgICAgICAgYyA9IGdldGNoYXIoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGlmKGM+PScwJyAmJiBjPD0nOScpYnJlYWs7CiAgICB9CiAgICByZWdpc3RlciBpbnQgeD0wOwogICAgd2hpbGUoMSkKICAgIHsKICAgICAgICB4PXgqMTArYy00ODsKICAgICAgICBjPWdldGNoYXIoKTsKICAgICAgICBpZihjPCcwJyB8fCBjPic5JylyZXR1cm4gc2duPy14Ong7CiAgICB9Cn0KaW50IG4sIHEsIGFbNTAwMTBdOwptYXA8aW50LCBzZXQ8aW50PiA+IG9jYzsKbWFwPGludCwgbGw+IGJpdFs1MDAxMF07CmxsIHJlYWxiaXRbNTAwMTAgLyBNQUdJQyArIDFdWzUwMDEwXTsKdm9pZCB1cGRhdGUoaW50IGksIGludCBqLCBpbnQgdikKewogICAgd2hpbGUoaSA8PSBuKQogICAgewogICAgICAgIGlmKChpICYgLWkpID49IE1BR0lDKQogICAgICAgIHsKICAgICAgICAgICAgaW50IGIgPSBpIC8gTUFHSUM7CiAgICAgICAgICAgIGZvcihpbnQgaz1qOyBrPD1uOyBrICs9IGsmLWspCiAgICAgICAgICAgICAgICByZWFsYml0W2JdW2tdICs9IHY7CiAgICAgICAgfQogICAgICAgIGVsc2UgZm9yKGludCBrPWo7IGs8PW47IGsgKz0gayYtaykKICAgICAgICAgICAgYml0W2ldW2tdICs9IHY7CiAgICAgICAgaSArPSBpJi1pOwogICAgfQp9CmxsIHF1ZXJ5KGludCBpLCBpbnQgaikKewogICAgbGwgc3VtID0gMDsKICAgIHdoaWxlKGkgPiAwKQogICAgewogICAgICAgIGlmKChpICYgLWkpID49IE1BR0lDKQogICAgICAgIHsKICAgICAgICAgICAgaW50IGIgPSBpIC8gTUFHSUM7CiAgICAgICAgICAgIGZvcihpbnQgaz1qOyBrPjA7IGsgLT0gayYtaykKICAgICAgICAgICAgICAgIHN1bSArPSByZWFsYml0W2JdW2tdOwogICAgICAgIH0KICAgICAgICBlbHNlIGZvcihpbnQgaz1qOyBrPjA7IGsgLT0gayYtaykKICAgICAgICAgICAgc3VtICs9IGJpdFtpXVtrXTsKICAgICAgICBpIC09IGkmLWk7CiAgICB9CiAgICByZXR1cm4gc3VtOwp9CmludDMyX3QgbWFpbigpCnsKICAgIG4gPSByaSgpOwogICAgbisrOwogICAgZm9yKGludCBpPTI7IGk8PW47IGkrKykKICAgICAgICBhW2ldID0gcmkoKTsKICAgIGZvcihpbnQgaT0yOyBpPD1uOyBpKyspCiAgICB7CiAgICAgICAgc2V0PGludD4gJmN1ciA9IG9jY1thW2ldXTsKICAgICAgICBpZihjdXIuc2l6ZSgpID09IDApCiAgICAgICAgewogICAgICAgICAgICB1cGRhdGUoaSwgMSwgYVtpXSk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHVwZGF0ZShpLCAqY3VyLnJiZWdpbigpLCBhW2ldKTsKICAgICAgICB9CiAgICAgICAgY3VyLmluc2VydChpKTsKICAgIH0KICAgIHEgPSByaSgpOwogICAgZm9yKGludCBpPTA7IGk8cTsgaSsrKQogICAgewogICAgICAgIGNoYXIgb3AgPSBnZXRjaGFyKCk7CiAgICAgICAgaW50IHgsIHk7CiAgICAgICAgd2hpbGUob3AgIT0gJ1UnICYmIG9wICE9ICdRJykKICAgICAgICAgICAgb3AgPSBnZXRjaGFyKCk7CiAgICAgICAgeCA9IHJpKCksIHkgPSByaSgpOwogICAgICAgIHgrKzsKICAgICAgICBpZihvcCA9PSAnUScpCiAgICAgICAgewogICAgICAgICAgICB5Kys7CiAgICAgICAgICAgIHByaW50ZigiJWxsZFxuIiwgcXVlcnkoeSwgeC0xKSAtIHF1ZXJ5KHgtMSwgeC0xKSk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIC8vZXJhc2Ugb2xkIGVsZW1lbnQKICAgICAgICAgICAgc2V0PGludD4gJmN1ciA9IG9jY1thW3hdXTsKICAgICAgICAgICAgYXV0byBqID0gY3VyLmZpbmQoeCk7CiAgICAgICAgICAgIGludCBwcnY7CiAgICAgICAgICAgIGlmKGogIT0gY3VyLmJlZ2luKCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGotLTsKICAgICAgICAgICAgICAgIHBydiA9ICpqOwogICAgICAgICAgICAgICAgaisrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcHJ2ID0gMTsKICAgICAgICAgICAgfQogICAgICAgICAgICB1cGRhdGUoeCwgcHJ2LCAtYVt4XSk7CiAgICAgICAgICAgIGogPSBjdXIuZXJhc2Uoaik7CiAgICAgICAgICAgIGlmKGogIT0gY3VyLmVuZCgpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1cGRhdGUoKmosIHgsIC1hW3hdKTsKICAgICAgICAgICAgICAgIHVwZGF0ZSgqaiwgcHJ2LCBhW3hdKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvL2luc2VydCBuZXcgZWxlbWVudAogICAgICAgICAgICBhW3hdID0geTsKICAgICAgICAgICAgc2V0PGludD4gJmN1cjIgPSBvY2NbeV07CiAgICAgICAgICAgIGogPSBjdXIyLmluc2VydCh4KS5maXJzdDsKICAgICAgICAgICAgaWYoaiAhPSBjdXIyLmJlZ2luKCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGotLTsKICAgICAgICAgICAgICAgIHBydiA9ICpqOwogICAgICAgICAgICAgICAgaisrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcHJ2ID0gMTsKICAgICAgICAgICAgfQogICAgICAgICAgICB1cGRhdGUoeCwgcHJ2LCB5KTsKICAgICAgICAgICAgaisrOwogICAgICAgICAgICBpZihqICE9IGN1cjIuZW5kKCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVwZGF0ZSgqaiwgeCwgeSk7CiAgICAgICAgICAgICAgICB1cGRhdGUoKmosIHBydiwgLXkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0=