#include <bits/stdc++.h>
#define REP(i,a,b) for(i=a;i<b;i++)
#define rep(i,n) REP(i,0,n)
#define ll long long
#define ull unsigned ll
#define MAX 100005
#define INF LONG_LONG_MAX
using namespace std;
ll arr[MAX],tree[4*MAX];
inline ll scanll()
{
ll n=0;
char ch=getchar_unlocked();
while(ch<'0'||ch>'9')
ch=getchar_unlocked();
while(ch>='0'&&ch<='9')
{
n=(n<<3)+(n<<1)+ch-'0';
ch=getchar_unlocked();
}
return n;
}
inline int scan()
{
int n=0;
char ch=getchar_unlocked();
while(ch<'0'||ch>'9')
ch=getchar_unlocked();
while(ch>='0'&&ch<='9')
{
n=(n<<3)+(n<<1)+ch-'0';
ch=getchar_unlocked();
}
return n;
}
inline void fastWrite(ll a)
{
char snum[20];
int i=0;
do
{
snum[i++]=a%10+48;
a=a/10;
}
while(a!=0);
i=i-1;
while(i>=0)
putchar_unlocked(snum[i--]);
putchar_unlocked('\n');
}
void build_tree(int node,int l,int r)
{
if(l>r)
return;
if(l==r)
{
tree[node]=arr[l];
return;
}
build_tree(node*2,l,(l+r)/2);
build_tree(node*2+1,(l+r)/2+1,r);
tree[node]=max(tree[node*2],tree[node*2+1]);
}
void update_tree(int node,int a,int b,int i,int j,ll val)
{
if(a>b || i>b || a>j)
return;
if(a==b)
{
tree[node]=val;
return;
}
int mid=(a+b)/2;
update_tree(node*2,a,mid,i,j,val);
update_tree(node*2+1,mid+1,b,i,j,val);
tree[node]=max(tree[node*2],tree[node*2+1]);
}
void update_tree_max(int node,int a,int b,int i,int j,ll val)
{
if(a>b || i>b || a>j)
return;
if(a==b)
{
//cout<<tree[node]<<endl;
if(val==tree[node])
tree[node]=-INF;
return;
}
int mid=(a+b)/2;
update_tree_max(node*2,a,mid,i,j,val);
update_tree_max(node*2+1,mid+1,b,i,j,val);
tree[node]=max(tree[node*2],tree[node*2+1]);
}
void update_tree_original(int node,int a,int b,int i,int j,ll val)
{
if(a>b || i>b || a>j)
return;
if(a==b)
{
if(-INF==tree[node])
tree[node]=val;
return;
}
int mid=(a+b)/2;
update_tree_original(node*2,a,mid,i,j,val);
update_tree_original(node*2+1,mid+1,b,i,j,val);
tree[node]=max(tree[node*2],tree[node*2+1]);
}
ll query_tree(int node,int a,int b,int i,int j)
{
if(a>b || a>j || b<i)
return -INF;
if(a>=i && b<=j)
{
return tree[node];
}
int left=query_tree(node*2,a,(a+b)/2,i,j);
int right=query_tree(node*2+1,(a+b)/2+1,b,i,j);
int res=max(left,right);
return res;
}
int main()
{
int n,i,q;
n=scan();
rep(i,n)
arr[i]=scanll();
build_tree(1,0,n-1);
q=scan();
while(q--)
{
char ch;
scanf("%c",&ch);
int x,y;
ll val;
if(ch=='U')
{
x=scan();
val=scanll();
--x;
update_tree(1,0,n-1,x,x,val);
}
else
{
x=scan();
y=scan();
--x;
--y;
ll first=0,ans=0;
first=query_tree(1,0,n-1,x,y);
update_tree_max(1,0,n-1,x,y,first);
ans=query_tree(1,0,n-1,x,y)+first;
update_tree_original(1,0,n-1,x,y,first);
fastWrite(ans);
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgUkVQKGksYSxiKSBmb3IoaT1hO2k8YjtpKyspCiNkZWZpbmUgcmVwKGksbikgUkVQKGksMCxuKQojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIHVsbCB1bnNpZ25lZCBsbAojZGVmaW5lIE1BWCAxMDAwMDUKI2RlZmluZSBJTkYgTE9OR19MT05HX01BWAp1c2luZyBuYW1lc3BhY2Ugc3RkOwpsbCBhcnJbTUFYXSx0cmVlWzQqTUFYXTsKaW5saW5lIGxsIHNjYW5sbCgpCnsKICAgIGxsIG49MDsKICAgIGNoYXIgY2g9Z2V0Y2hhcl91bmxvY2tlZCgpOwogICAgd2hpbGUoY2g8JzAnfHxjaD4nOScpCiAgICAgICAgY2g9Z2V0Y2hhcl91bmxvY2tlZCgpOwogICAgd2hpbGUoY2g+PScwJyYmY2g8PSc5JykKICAgIHsKICAgICAgICBuPShuPDwzKSsobjw8MSkrY2gtJzAnOwogICAgICAgIGNoPWdldGNoYXJfdW5sb2NrZWQoKTsKICAgIH0KICAgIHJldHVybiBuOwp9CmlubGluZSBpbnQgc2NhbigpCnsKICAgIGludCBuPTA7CiAgICBjaGFyIGNoPWdldGNoYXJfdW5sb2NrZWQoKTsKICAgIHdoaWxlKGNoPCcwJ3x8Y2g+JzknKQogICAgICAgIGNoPWdldGNoYXJfdW5sb2NrZWQoKTsKICAgIHdoaWxlKGNoPj0nMCcmJmNoPD0nOScpCiAgICB7CiAgICAgICAgbj0objw8MykrKG48PDEpK2NoLScwJzsKICAgICAgICBjaD1nZXRjaGFyX3VubG9ja2VkKCk7CiAgICB9CiAgICByZXR1cm4gbjsKfQoKaW5saW5lIHZvaWQgZmFzdFdyaXRlKGxsIGEpCnsKICAgIGNoYXIgc251bVsyMF07CiAgICBpbnQgaT0wOwogICAgZG8KICAgIHsKICAgICAgICBzbnVtW2krK109YSUxMCs0ODsKICAgICAgICBhPWEvMTA7CiAgICB9CiAgICB3aGlsZShhIT0wKTsKICAgIAlpPWktMTsKICAgIHdoaWxlKGk+PTApCiAgICAgICAgcHV0Y2hhcl91bmxvY2tlZChzbnVtW2ktLV0pOwogICAgcHV0Y2hhcl91bmxvY2tlZCgnXG4nKTsKfQp2b2lkIGJ1aWxkX3RyZWUoaW50IG5vZGUsaW50IGwsaW50IHIpCnsKCWlmKGw+cikKCQlyZXR1cm47CglpZihsPT1yKQoJewoJCXRyZWVbbm9kZV09YXJyW2xdOwoJCXJldHVybjsKCX0KCWJ1aWxkX3RyZWUobm9kZSoyLGwsKGwrcikvMik7CglidWlsZF90cmVlKG5vZGUqMisxLChsK3IpLzIrMSxyKTsKCgl0cmVlW25vZGVdPW1heCh0cmVlW25vZGUqMl0sdHJlZVtub2RlKjIrMV0pOwp9CnZvaWQgdXBkYXRlX3RyZWUoaW50IG5vZGUsaW50IGEsaW50IGIsaW50IGksaW50IGosbGwgdmFsKQp7CglpZihhPmIgfHwgaT5iIHx8IGE+aikKCQlyZXR1cm47CglpZihhPT1iKQoJewoJCXRyZWVbbm9kZV09dmFsOwoJCXJldHVybjsKCX0KCWludCBtaWQ9KGErYikvMjsKCXVwZGF0ZV90cmVlKG5vZGUqMixhLG1pZCxpLGosdmFsKTsKCXVwZGF0ZV90cmVlKG5vZGUqMisxLG1pZCsxLGIsaSxqLHZhbCk7CgoJdHJlZVtub2RlXT1tYXgodHJlZVtub2RlKjJdLHRyZWVbbm9kZSoyKzFdKTsKfQp2b2lkIHVwZGF0ZV90cmVlX21heChpbnQgbm9kZSxpbnQgYSxpbnQgYixpbnQgaSxpbnQgaixsbCB2YWwpCnsKCWlmKGE+YiB8fCBpPmIgfHwgYT5qKQoJCXJldHVybjsKCWlmKGE9PWIpCgl7CgkJLy9jb3V0PDx0cmVlW25vZGVdPDxlbmRsOwoJCWlmKHZhbD09dHJlZVtub2RlXSkKCQkJdHJlZVtub2RlXT0tSU5GOwoJCXJldHVybjsKCX0KCWludCBtaWQ9KGErYikvMjsKCXVwZGF0ZV90cmVlX21heChub2RlKjIsYSxtaWQsaSxqLHZhbCk7Cgl1cGRhdGVfdHJlZV9tYXgobm9kZSoyKzEsbWlkKzEsYixpLGosdmFsKTsKCXRyZWVbbm9kZV09bWF4KHRyZWVbbm9kZSoyXSx0cmVlW25vZGUqMisxXSk7Cn0Kdm9pZCB1cGRhdGVfdHJlZV9vcmlnaW5hbChpbnQgbm9kZSxpbnQgYSxpbnQgYixpbnQgaSxpbnQgaixsbCB2YWwpCnsKCWlmKGE+YiB8fCBpPmIgfHwgYT5qKQoJCXJldHVybjsKCWlmKGE9PWIpCgl7CgkJaWYoLUlORj09dHJlZVtub2RlXSkKCQkJdHJlZVtub2RlXT12YWw7CgkJcmV0dXJuOwoJfQoJaW50IG1pZD0oYStiKS8yOwoJdXBkYXRlX3RyZWVfb3JpZ2luYWwobm9kZSoyLGEsbWlkLGksaix2YWwpOwoJdXBkYXRlX3RyZWVfb3JpZ2luYWwobm9kZSoyKzEsbWlkKzEsYixpLGosdmFsKTsKCgl0cmVlW25vZGVdPW1heCh0cmVlW25vZGUqMl0sdHJlZVtub2RlKjIrMV0pOwp9CmxsIHF1ZXJ5X3RyZWUoaW50IG5vZGUsaW50IGEsaW50IGIsaW50IGksaW50IGopCnsKCWlmKGE+YiB8fCBhPmogfHwgYjxpKQoJCXJldHVybiAtSU5GOwoJaWYoYT49aSAmJiBiPD1qKQoJewoJCXJldHVybiB0cmVlW25vZGVdOwoJfQoJaW50IGxlZnQ9cXVlcnlfdHJlZShub2RlKjIsYSwoYStiKS8yLGksaik7CglpbnQgcmlnaHQ9cXVlcnlfdHJlZShub2RlKjIrMSwoYStiKS8yKzEsYixpLGopOwoJaW50IHJlcz1tYXgobGVmdCxyaWdodCk7CglyZXR1cm4gcmVzOwp9CmludCBtYWluKCkKewoJaW50IG4saSxxOwoJbj1zY2FuKCk7CglyZXAoaSxuKQoJCWFycltpXT1zY2FubGwoKTsKCWJ1aWxkX3RyZWUoMSwwLG4tMSk7CglxPXNjYW4oKTsKCXdoaWxlKHEtLSkKCXsKCQljaGFyIGNoOwoJCXNjYW5mKCIlYyIsJmNoKTsKCQlpbnQgeCx5OwoJCWxsIHZhbDsKCQlpZihjaD09J1UnKQoJCXsKCQkJeD1zY2FuKCk7CgkJCXZhbD1zY2FubGwoKTsKCQkJLS14OwoJCQl1cGRhdGVfdHJlZSgxLDAsbi0xLHgseCx2YWwpOwoJCX0KCQllbHNlCgkJewoJCQl4PXNjYW4oKTsKCQkJeT1zY2FuKCk7CgkJCS0teDsKCQkJLS15OwoJCQlsbCBmaXJzdD0wLGFucz0wOwoJCQlmaXJzdD1xdWVyeV90cmVlKDEsMCxuLTEseCx5KTsKCQkJdXBkYXRlX3RyZWVfbWF4KDEsMCxuLTEseCx5LGZpcnN0KTsKCQkJYW5zPXF1ZXJ5X3RyZWUoMSwwLG4tMSx4LHkpK2ZpcnN0OwoJCQl1cGRhdGVfdHJlZV9vcmlnaW5hbCgxLDAsbi0xLHgseSxmaXJzdCk7CgkJCWZhc3RXcml0ZShhbnMpOwoJCX0KCX0KCXJldHVybiAwOwp9