import java.util.* ;
public class Main {
public static void main
( String args
[ ] ) { Scanner s
= new Scanner
( System .
in ) ; int n= s.nextInt ( ) ;
int q= s.nextInt ( ) ;
int [ ] arr= new int [ n+ 1 ] ;
for ( int i= 1 ; i<= n; i++ ) {
arr[ i] = s.nextInt ( ) ;
}
int [ ] tree= new int [ 4 * n+ 1 ] ;
buildTree( arr,1 ,n,tree,1 ) ;
while ( q--> 0 ) {
int what= s.nextInt ( ) ;
if ( what== 1 ) {
int l= s.nextInt ( ) ;
int r= s.nextInt ( ) ;
int min= query( arr,1 ,n,l,r,tree,1 ) ;
} else {
int x= s.nextInt ( ) ;
int y= s.nextInt ( ) ;
updateNode( tree,1 ,n,x,y,1 ) ;
}
}
}
public static void buildTree( int [ ] arr,int s,int e,int [ ] tree,int index) {
if ( s== e) {
tree[ index] = arr[ s] ;
return ;
}
int mid= ( s+ e) / 2 ;
buildTree( arr,s,mid,tree,2 * index) ;
buildTree( arr,mid+ 1 ,e,tree,2 * index+ 1 ) ;
tree
[ index
] = Math .
min ( tree
[ 2 * index
] ,tree
[ 2 * index
+ 1 ] ) ; return ;
}
public static int query( int [ ] arr,int ss,int se,int qs,int qe,int [ ] tree,int index) {
//complete
if ( qs<= ss && qe>= se) {
return tree[ index] ;
}
//no overlap
if ( ss> qe || se< qs)
//partial
int mid= ( ss+ se) / 2 ;
int left= query( arr,ss,mid,qs,qe,tree,2 * index) ;
int right= query( arr,mid+ 1 ,se,qs,qe,tree,2 * index+ 1 ) ;
return Math .
min ( left,right
) ; }
public static void updateNode( int [ ] tree,int ss,int se,int i,int increment,int index) {
//no overlap
if ( i< ss || i> se)
return ;
//complete
if ( ss== se) {
tree[ index] += increment;
return ;
}
//partial
int mid= ( ss+ se) / 2 ;
updateNode( tree,ss,mid,i,increment,2 * index) ;
updateNode( tree,mid+ 1 ,se,i,increment,2 * index+ 1 ) ;
tree
[ index
] = Math .
min ( tree
[ 2 * index
] ,tree
[ 2 * index
+ 1 ] ) ; return ;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwpwdWJsaWMgY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmcgYXJnc1tdKSB7CiAgICAgICAgU2Nhbm5lciBzPW5ldyBTY2FubmVyKFN5c3RlbS5pbik7CiAgICAgICAgaW50IG49cy5uZXh0SW50KCk7CiAgICAgICAgaW50IHE9cy5uZXh0SW50KCk7CiAgICAgICAgaW50W10gYXJyPW5ldyBpbnRbbisxXTsKICAgICAgICBmb3IoaW50IGk9MTtpPD1uO2krKyl7CiAgICAgICAgICAgIGFycltpXT1zLm5leHRJbnQoKTsKICAgICAgICB9CiAgICAgICAgaW50W10gdHJlZT1uZXcgaW50WzQqbisxXTsKICAgICAgICBidWlsZFRyZWUoYXJyLDEsbix0cmVlLDEpOwogICAgICAgIHdoaWxlKHEtLT4wKXsKICAgICAgICAgICAgaW50IHdoYXQ9cy5uZXh0SW50KCk7CiAgICAgICAgICAgIGlmKHdoYXQ9PTEpewppbnQgbD1zLm5leHRJbnQoKTsKaW50IHI9cy5uZXh0SW50KCk7CmludCBtaW49cXVlcnkoYXJyLDEsbixsLHIsdHJlZSwxKTsKU3lzdGVtLm91dC5wcmludGxuKG1pbik7CiAgICAgICAgICAgIH1lbHNlewppbnQgeD1zLm5leHRJbnQoKTsKaW50IHk9cy5uZXh0SW50KCk7CnVwZGF0ZU5vZGUodHJlZSwxLG4seCx5LDEpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgYnVpbGRUcmVlKGludFtdIGFycixpbnQgcyxpbnQgZSxpbnRbXSB0cmVlLGludCBpbmRleCl7CiAgICAgICAgaWYocz09ZSl7CiAgICAgICAgICAgIHRyZWVbaW5kZXhdPWFycltzXTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpbnQgbWlkPShzK2UpLzI7CiAgICAgICAgYnVpbGRUcmVlKGFycixzLG1pZCx0cmVlLDIqaW5kZXgpOwogICAgICAgIGJ1aWxkVHJlZShhcnIsbWlkKzEsZSx0cmVlLDIqaW5kZXgrMSk7CiAgICAgICAgdHJlZVtpbmRleF09TWF0aC5taW4odHJlZVsyKmluZGV4XSx0cmVlWzIqaW5kZXgrMV0pOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGludCBxdWVyeShpbnRbXSBhcnIsaW50IHNzLGludCBzZSxpbnQgcXMsaW50IHFlLGludFtdIHRyZWUsaW50IGluZGV4KXsKICAgICAgICAvL2NvbXBsZXRlCiAgICAgICAgaWYocXM8PXNzICYmIHFlPj1zZSl7CiAgICAgICAgICAgIHJldHVybiB0cmVlW2luZGV4XTsKICAgICAgICB9Ci8vbm8gb3ZlcmxhcAppZihzcz5xZSB8fCBzZTxxcykKcmV0dXJuIEludGVnZXIuTUFYX1ZBTFVFOwovL3BhcnRpYWwKaW50IG1pZD0oc3Mrc2UpLzI7CmludCBsZWZ0PXF1ZXJ5KGFycixzcyxtaWQscXMscWUsdHJlZSwyKmluZGV4KTsKaW50IHJpZ2h0PXF1ZXJ5KGFycixtaWQrMSxzZSxxcyxxZSx0cmVlLDIqaW5kZXgrMSk7CnJldHVybiBNYXRoLm1pbihsZWZ0LHJpZ2h0KTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgdm9pZCB1cGRhdGVOb2RlKGludFtdIHRyZWUsaW50IHNzLGludCBzZSxpbnQgaSxpbnQgaW5jcmVtZW50LGludCBpbmRleCl7Ci8vbm8gb3ZlcmxhcAppZihpPHNzIHx8IGk+c2UpCnJldHVybjsKLy9jb21wbGV0ZQppZihzcz09c2Upewp0cmVlW2luZGV4XSs9aW5jcmVtZW50OwpyZXR1cm47Cn0KLy9wYXJ0aWFsCmludCBtaWQ9KHNzK3NlKS8yOwp1cGRhdGVOb2RlKHRyZWUsc3MsbWlkLGksaW5jcmVtZW50LDIqaW5kZXgpOwp1cGRhdGVOb2RlKHRyZWUsbWlkKzEsc2UsaSxpbmNyZW1lbnQsMippbmRleCsxKTsKIHRyZWVbaW5kZXhdPU1hdGgubWluKHRyZWVbMippbmRleF0sdHJlZVsyKmluZGV4KzFdKTsKIHJldHVybjsKICAgIH0KfQoKCg==