#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
#define ll long long int
int n;
ll tree[1000009],a[200009],c[200009];
void update(int idx,int val)
{
while(idx<=n)
{
tree[idx]+=val;
idx+=(idx & -idx);
}
}
long long int read(int i,int j)
{
long long s1=0,s2=0;
while(i>0)
{
s1+=tree[i];
i-=(i & -i);
}
while(j>0)
{
s2+=tree[j];
j-=(j & -j);
}
return s2-s1;
}
int main()
{
int i,a1,b1,k;
int cs=0;
//char chare;
while(1)
{
scanf("%d",&n);
if(n==0)
break;
//getchar();
//cin>>chare;
memset(c,0,sizeof(c));
memset(tree,0,sizeof(tree));
char s[90];
cout<<"Case "<<++cs<<":"<<endl;
//string s;
for(i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
//cin>>chare;
//getchar();
c[i]=c[i-1]+a[i];
k=(i-i^(i&(i-1)));
//cout<<i<<" "<<k<<" ";
tree[i]=c[i]-c[k];//BIT
//cout<<tree[i]<<endl;
}
char ch;
getchar();
while(1)
{
gets(s);
//getchar();
if(s[0]=='E')
break;
//cin>>chare;
sscanf(s,"%c %d %d",&ch,&a1,&b1);
if(ch=='S')
{
update(a1,b1-a[a1]);
a[a1]=b1;
}
else
{
if(a1>b1)
swap(a1,b1);
printf("%lld\n",read(a1-1,b1));
}
}
cout<<endl;
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0ZGlvLmg+CiNpbmNsdWRlPHN0cmluZy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGxsIGxvbmcgbG9uZyBpbnQKaW50IG47CmxsIHRyZWVbMTAwMDAwOV0sYVsyMDAwMDldLGNbMjAwMDA5XTsKdm9pZCB1cGRhdGUoaW50IGlkeCxpbnQgdmFsKQp7CiAgICB3aGlsZShpZHg8PW4pCiAgICB7CiAgICAgICAgdHJlZVtpZHhdKz12YWw7CiAgICAgICAgaWR4Kz0oaWR4ICYgLWlkeCk7CiAgICB9Cn0KbG9uZyBsb25nIGludCByZWFkKGludCBpLGludCBqKQp7CiAgICBsb25nIGxvbmcgczE9MCxzMj0wOwogICAgd2hpbGUoaT4wKQogICAgewogICAgICAgIHMxKz10cmVlW2ldOwogICAgICAgIGktPShpICYgLWkpOwogICAgfQogICAgd2hpbGUoaj4wKQogICAgewogICAgICAgIHMyKz10cmVlW2pdOwogICAgICAgIGotPShqICYgLWopOwogICAgfQogICAgcmV0dXJuIHMyLXMxOwp9CmludCBtYWluKCkKIHsKICAgICBpbnQgaSxhMSxiMSxrOwogICAgIGludCBjcz0wOwogICAgIC8vY2hhciBjaGFyZTsKICAgICB3aGlsZSgxKQogICAgIHsKICAgICAgICAgc2NhbmYoIiVkIiwmbik7CiAgICAgICAgIGlmKG49PTApCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAvL2dldGNoYXIoKTsKICAgICAgICAgICAgLy9jaW4+PmNoYXJlOwoKICAgICBtZW1zZXQoYywwLHNpemVvZihjKSk7CiAgICAgbWVtc2V0KHRyZWUsMCxzaXplb2YodHJlZSkpOwogICAgIGNoYXIgc1s5MF07CiAgICAgY291dDw8IkNhc2UgIjw8Kytjczw8IjoiPDxlbmRsOwoKICAgICAvL3N0cmluZyBzOwogICAgIGZvcihpPTE7aTw9bjtpKyspCiAgICAgewogICAgICAgICBzY2FuZigiJWxsZCIsJmFbaV0pOwogICAgICAgICAvL2Npbj4+Y2hhcmU7CiAgICAgICAgIC8vZ2V0Y2hhcigpOwogICAgICAgICBjW2ldPWNbaS0xXSthW2ldOwogICAgICAgICBrPShpLWleKGkmKGktMSkpKTsKICAgICAgICAgLy9jb3V0PDxpPDwiICI8PGs8PCIgIjsKICAgICAgICAgdHJlZVtpXT1jW2ldLWNba107Ly9CSVQKICAgICAgICAgLy9jb3V0PDx0cmVlW2ldPDxlbmRsOwoKICAgICB9CgogICAgIGNoYXIgY2g7CgogICAgIGdldGNoYXIoKTsKCiAgICAgd2hpbGUoMSkKICAgICB7CiAgICAgICAgIGdldHMocyk7CiAgICAgICAgIC8vZ2V0Y2hhcigpOwogICAgICAgICBpZihzWzBdPT0nRScpCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIC8vY2luPj5jaGFyZTsKICAgICAgICBzc2NhbmYocywiJWMgJWQgJWQiLCZjaCwmYTEsJmIxKTsKICAgICAgICBpZihjaD09J1MnKQogICAgICAgIHsKICAgICAgICAgICAgdXBkYXRlKGExLGIxLWFbYTFdKTsKICAgICAgICAgICAgYVthMV09YjE7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGlmKGExPmIxKQogICAgICAgICAgICAgICAgc3dhcChhMSxiMSk7CiAgICAgICAgICAgIHByaW50ZigiJWxsZFxuIixyZWFkKGExLTEsYjEpKTsKCiAgICAgICAgfQogICAgIH0KICAgICBjb3V0PDxlbmRsOwogICAgIH0KICAgICByZXR1cm4gMDsKIH0K