#include<bits/stdc++.h>
using namespace std;
#define INF 1000000014
const int maxn=100005;
int arr[maxn];
int tree[4*maxn];
void build(int node,int left,int right){
if(left==right){
tree[node] = arr[left];
}
else {
int mid = (left+right)/2;
build(2*node,left,mid);
build(2*node+1,mid+1,right);
tree[node] = min(tree[2*node],tree[2*node+1]);
}
}
void update(int node,int left,int right,int idx,int val){
if(left==right){
arr[idx]+=val;
tree[node] = val;
}
else {
int mid = (left+right)/2;
if(idx>=left && idx<=mid)
update(2*node,left,mid,idx,val);
else
update(2*node+1,mid+1,right,idx,val);
tree[node] = min(tree[2*node],tree[2*node+1]);
}
}
int query(int node,int left,int right,int x,int y){
if(left > y || right < x)
return INF;
if(left >= x && right<= y)
return tree[node];
int mid = (left+right)/2;
return min(query(2*node,left,mid,x,y), query(2*node+1,mid+1,right,x,y));
}
int main(){
char t;
int n,q,a,b;
cin>>n>>q;
for(int i=0;i<n;i++)
cin>>arr[i];
build(1,0,n-1);
while(q--){
cin>>t>>a>>b;
if(t=='q')
cout << query(1,0,n-1,a-1,b-1) << endl;
else
update(1,0,n-1,a-1,b);
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBJTkYgMTAwMDAwMDAxNApjb25zdCBpbnQgbWF4bj0xMDAwMDU7CgppbnQgYXJyW21heG5dOwppbnQgdHJlZVs0Km1heG5dOwoKdm9pZCBidWlsZChpbnQgbm9kZSxpbnQgbGVmdCxpbnQgcmlnaHQpewoJaWYobGVmdD09cmlnaHQpewoJCXRyZWVbbm9kZV0gPSBhcnJbbGVmdF07Cgl9CgllbHNlIHsKCSAgIGludCBtaWQgPSAobGVmdCtyaWdodCkvMjsKCSAgIGJ1aWxkKDIqbm9kZSxsZWZ0LG1pZCk7CgkgICBidWlsZCgyKm5vZGUrMSxtaWQrMSxyaWdodCk7CgkgICB0cmVlW25vZGVdID0gbWluKHRyZWVbMipub2RlXSx0cmVlWzIqbm9kZSsxXSk7Cgl9Cn0KCnZvaWQgdXBkYXRlKGludCBub2RlLGludCBsZWZ0LGludCByaWdodCxpbnQgaWR4LGludCB2YWwpewoJaWYobGVmdD09cmlnaHQpewogICAgICAgIGFycltpZHhdKz12YWw7CgkJdHJlZVtub2RlXSA9IHZhbDsKCX0KCWVsc2UgewoJICAgaW50IG1pZCA9IChsZWZ0K3JpZ2h0KS8yOwoJICAgaWYoaWR4Pj1sZWZ0ICYmIGlkeDw9bWlkKQoJICAgICAgdXBkYXRlKDIqbm9kZSxsZWZ0LG1pZCxpZHgsdmFsKTsKCSAgIGVsc2UKCSAgICAgIHVwZGF0ZSgyKm5vZGUrMSxtaWQrMSxyaWdodCxpZHgsdmFsKTsKCXRyZWVbbm9kZV0gPSBtaW4odHJlZVsyKm5vZGVdLHRyZWVbMipub2RlKzFdKTsKCX0KfQoKaW50IHF1ZXJ5KGludCBub2RlLGludCBsZWZ0LGludCByaWdodCxpbnQgeCxpbnQgeSl7CglpZihsZWZ0ID4geSB8fCByaWdodCA8IHgpCgkJcmV0dXJuIElORjsKCWlmKGxlZnQgPj0geCAmJiByaWdodDw9IHkpCgkJcmV0dXJuIHRyZWVbbm9kZV07CglpbnQgbWlkID0gKGxlZnQrcmlnaHQpLzI7CglyZXR1cm4gbWluKHF1ZXJ5KDIqbm9kZSxsZWZ0LG1pZCx4LHkpLCBxdWVyeSgyKm5vZGUrMSxtaWQrMSxyaWdodCx4LHkpKTsKfQoKaW50IG1haW4oKXsKICAgY2hhciB0OwogICBpbnQgbixxLGEsYjsKICAgY2luPj5uPj5xOwogICBmb3IoaW50IGk9MDtpPG47aSsrKQogICAJIGNpbj4+YXJyW2ldOwogICBidWlsZCgxLDAsbi0xKTsKICAgd2hpbGUocS0tKXsKICAgCSBjaW4+PnQ+PmE+PmI7CiAgIAkgaWYodD09J3EnKQogICAJICAgIGNvdXQgPDwgcXVlcnkoMSwwLG4tMSxhLTEsYi0xKSA8PCBlbmRsOwogICAgIGVsc2UKICAgICAgICB1cGRhdGUoMSwwLG4tMSxhLTEsYik7CiAgIH0KcmV0dXJuIDA7Cn0K