#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
#define endl "\n"
ll P=1000000007;
ll MAX=P*(P-7);
ll MIN=-1*MAX;
const int sizes=200001;
ll BIT1[200011],BIT2[200011], n, a[200011];
void update1(ll x, ll v)
{
while(x <= n)
{
BIT1[x] += v;
x += x & -x;
}
}
ll query1(ll k)
{
ll s = 0;
while(k > 0)
{
s += BIT1[k];
k -= k & -k;
}
return s;
}
void update2(ll x, ll v)
{
while(x <= n)
{
BIT2[x] += v;
x += x & -x;
}
}
ll query2(ll k)
{
ll s = 0;
while(k > 0)
{
s += BIT2[k];
k -= k & -k;
}
return s;
}
void solve()
{
ll t,i,j,k,l,m,o,p,q,r,s=0;
cin>>n>>q;
for(i=1;i<=n;i++)
cin>>a[i];
memset(BIT1,0,sizeof(ll)*(n+4));
memset(BIT2,0,sizeof(ll)*(n+4));
for(i=1;i<=n;i++)
{
if(i%2==1)
{
update1(i,a[i]);
update2(i,a[i]*i);
}
else
{
update1(i,-1*a[i]);
update2(i,-1*i*a[i]);
}
}
//cout<<query1(2)-query1(0)<<endl;
//cout<<query2(2)-query2(0)<<endl;
ll zz=0;
while(q--)
{
char c;
cin>>c;
if(c=='U')
{
// cout<<c<<endl;
ll index,value;
cin>>index>>value;
ll prev=a[index];
ll n_val1,n_val2;
if(index%2==0)
{
n_val1=-1*value;
n_val1=n_val1-(-1*prev);
n_val2=-1*index*value;
n_val2=n_val2-(-1*index*prev);
}
else if(index%2==1)
{
n_val1=1*value;
n_val1=n_val1-(1*prev);
n_val2=1*index*value;
n_val2=n_val2-(1*index*prev);
}
update1(index,n_val1);
update2(index,n_val2);
a[index]=value;
}
else
{
cin>>l>>r;
if(l%2==1)
{
ll offset=l-1;
ll val1=query2(r)-query2(l-1);
ll val2=query1(r)-query1(l-1);
ll ans=(val1-val2*offset);
zz+=ans;
}
else
{
ll offset=l-1;
ll val1=query2(r)-query2(l-1);
ll val2=query1(r)-query1(l-1);
ll ans=(val1-val2*offset);
ans*=-1;
zz+=ans;
}
}
}
cout<<zz<<endl;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
ll t,n,i,j,k,l,m,o,p,q,r,a[sizes];
cin>>t;
for(i=1;i<=t;i++)
{
cout<<"Case #"<<i<<": ";
solve();
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgaW50IGxsOwojZGVmaW5lIGVuZGwgIlxuIgpsbCBQPTEwMDAwMDAwMDc7CmxsIE1BWD1QKihQLTcpOwpsbCBNSU49LTEqTUFYOwpjb25zdCBpbnQgc2l6ZXM9MjAwMDAxOwpsbCBCSVQxWzIwMDAxMV0sQklUMlsyMDAwMTFdLCBuLCBhWzIwMDAxMV07CnZvaWQgdXBkYXRlMShsbCB4LCBsbCB2KQp7CiAgICB3aGlsZSh4IDw9IG4pCiAgICB7CiAgICAgICAgQklUMVt4XSArPSB2OwogICAgICAgIHggKz0geCAmIC14OwogICAgfQp9CmxsIHF1ZXJ5MShsbCBrKQp7CiAgICBsbCBzID0gMDsKICAgIHdoaWxlKGsgPiAwKQogICAgewogICAgICAgIHMgKz0gQklUMVtrXTsKICAgICAgICBrIC09IGsgJiAtazsKICAgIH0KICAgIHJldHVybiBzOwp9CnZvaWQgdXBkYXRlMihsbCB4LCBsbCB2KQp7CiAgICB3aGlsZSh4IDw9IG4pCiAgICB7CiAgICAgICAgQklUMlt4XSArPSB2OwogICAgICAgIHggKz0geCAmIC14OwogICAgfQp9CmxsIHF1ZXJ5MihsbCBrKQp7CiAgICBsbCBzID0gMDsKICAgIHdoaWxlKGsgPiAwKQogICAgewogICAgICAgIHMgKz0gQklUMltrXTsKICAgICAgICBrIC09IGsgJiAtazsKICAgIH0KICAgIHJldHVybiBzOwp9CnZvaWQgc29sdmUoKQp7CiAgICBsbCB0LGksaixrLGwsbSxvLHAscSxyLHM9MDsKICAgIGNpbj4+bj4+cTsKICAgIGZvcihpPTE7aTw9bjtpKyspCiAgICBjaW4+PmFbaV07CiAgICBtZW1zZXQoQklUMSwwLHNpemVvZihsbCkqKG4rNCkpOwogICAgbWVtc2V0KEJJVDIsMCxzaXplb2YobGwpKihuKzQpKTsKICAgIGZvcihpPTE7aTw9bjtpKyspCiAgICB7CiAgICAgICAgaWYoaSUyPT0xKQogICAgICAgIHsKICAgICAgICAgICAgdXBkYXRlMShpLGFbaV0pOwogICAgICAgICAgICB1cGRhdGUyKGksYVtpXSppKTsKICAgICAgICB9CiAgICAgICAgZWxzZSAKICAgICAgICB7CiAgICAgICAgICAgIHVwZGF0ZTEoaSwtMSphW2ldKTsKICAgICAgICAgICAgdXBkYXRlMihpLC0xKmkqYVtpXSk7CiAgICAgICAgfQogICAgfQogICAgLy9jb3V0PDxxdWVyeTEoMiktcXVlcnkxKDApPDxlbmRsOwogICAgLy9jb3V0PDxxdWVyeTIoMiktcXVlcnkyKDApPDxlbmRsOwogICAgbGwgeno9MDsKICAgIHdoaWxlKHEtLSkKICAgIHsKICAgICAgICBjaGFyIGM7CiAgICAgICAgY2luPj5jOwogICAgICAgIGlmKGM9PSdVJykKICAgICAgICB7CiAgICAgICAgICAgLy8gY291dDw8Yzw8ZW5kbDsKICAgICAgICAgICAgICBsbCBpbmRleCx2YWx1ZTsKICAgICAgICAgICAgICBjaW4+PmluZGV4Pj52YWx1ZTsKICAgICAgICAgICAgICBsbCBwcmV2PWFbaW5kZXhdOwogICAgICAgICAgICAgIGxsIG5fdmFsMSxuX3ZhbDI7CiAgICAgICAgICAgICAgaWYoaW5kZXglMj09MCkKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIG5fdmFsMT0tMSp2YWx1ZTsKICAgICAgICAgICAgICAgICAgbl92YWwxPW5fdmFsMS0oLTEqcHJldik7CgogICAgICAgICAgICAgICAgICBuX3ZhbDI9LTEqaW5kZXgqdmFsdWU7CiAgICAgICAgICAgICAgICAgIG5fdmFsMj1uX3ZhbDItKC0xKmluZGV4KnByZXYpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlbHNlIGlmKGluZGV4JTI9PTEpCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICBuX3ZhbDE9MSp2YWx1ZTsKICAgICAgICAgICAgICAgICAgbl92YWwxPW5fdmFsMS0oMSpwcmV2KTsKCiAgICAgICAgICAgICAgICAgIG5fdmFsMj0xKmluZGV4KnZhbHVlOwogICAgICAgICAgICAgICAgICBuX3ZhbDI9bl92YWwyLSgxKmluZGV4KnByZXYpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB1cGRhdGUxKGluZGV4LG5fdmFsMSk7CiAgICAgICAgICAgICAgdXBkYXRlMihpbmRleCxuX3ZhbDIpOwogICAgICAgICAgICAgIGFbaW5kZXhdPXZhbHVlOwogICAgICAgIH0KICAgICAgICBlbHNlIAogICAgICAgIHsKICAgICAgICAgICAgICBjaW4+Pmw+PnI7CiAgICAgICAgICAgICAgaWYobCUyPT0xKQogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgbGwgb2Zmc2V0PWwtMTsKICAgICAgICAgICAgICAgICAgbGwgdmFsMT1xdWVyeTIociktcXVlcnkyKGwtMSk7CiAgICAgICAgICAgICAgICAgIGxsIHZhbDI9cXVlcnkxKHIpLXF1ZXJ5MShsLTEpOwogICAgICAgICAgICAgICAgICBsbCBhbnM9KHZhbDEtdmFsMipvZmZzZXQpOwogICAgICAgICAgICAgICAgICB6eis9YW5zOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlbHNlIAogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgbGwgb2Zmc2V0PWwtMTsKICAgICAgICAgICAgICAgICAgbGwgdmFsMT1xdWVyeTIociktcXVlcnkyKGwtMSk7CiAgICAgICAgICAgICAgICAgIGxsIHZhbDI9cXVlcnkxKHIpLXF1ZXJ5MShsLTEpOwogICAgICAgICAgICAgICAgICBsbCBhbnM9KHZhbDEtdmFsMipvZmZzZXQpOyAKICAgICAgICAgICAgICAgICAgYW5zKj0tMTsKICAgICAgICAgICAgICAgICAgenorPWFuczsKICAgICAgICAgICAgICB9IAogICAgICAgIH0KICAgIH0KICAgIGNvdXQ8PHp6PDxlbmRsOwp9CmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOwogICAgbGwgdCxuLGksaixrLGwsbSxvLHAscSxyLGFbc2l6ZXNdOwogICAgY2luPj50OwogICAgZm9yKGk9MTtpPD10O2krKykKICAgIHsKICAgIGNvdXQ8PCJDYXNlICMiPDxpPDwiOiAiOwogICAgc29sdmUoKTsKICAgIH0KICAgIHJldHVybiAwOwp9