#include <bits/stdc++.h>
using namespace std;
#define FOR(_i,_a,_b) for(int _i=_a;_i<=_b;_i++)
#define TCASE int _t;cin>>_t;FOR(_i,1,_t)
#define NFOR(_i,_a,_b) for(int _i=_a;_i>=_b;_i--)
#define pb push_back
#define all(_vec) _vec.begin(),_vec.end()
#define rall(_vec) _vec.rbegin(),_vec.rend()
#define READ(x) freopen(x,"r",stdin);
#define VECTORPRINT(_vec) {int _t=0;while(_t<_vec.size()){cout<<_vec[_t++]<<' ';}}
#define whatis(x) cout<<#x<<"= "<<x<<endl;
#define REP(i, n) for(int i=0;i<n;i++)
#define ARR_SIZE(_arr) sizeof(_arr)/sizeof(_arr[0])
#define bit(x,i) (x&(1<<i)) //select the bit of position i of x
#define bitcount(x) __builtin_popcount(x);
#define boost ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define most_significant(x) __builtin_clzll (unsigned long long)
#define maxx(a,b) (a>b?a:b)
#define getx getchar_unlocked
#define putx putchar_unlocked
typedef vector<int> vi;
typedef vector<vi > vvi;
typedef vector<pair<int,int> > vpii;
typedef long long lli;
typedef unsigned long long ulli;
typedef vector<lli> vlli;
typedef vector<vector<lli> > matrix;
typedef vector<double> vd;
typedef vector<long double> vld;
int n;
int rootn,sz;
vlli arr;
vlli bsum;
vlli bchange;
void update(){
lli x,y,k;
cin>>x>>y>>k; x--; y--;
int c_l=x/rootn, c_r=y/rootn;
if(c_l==c_r){
for(int i=x ; i<=y ; i++)
arr[i]+=k;
bsum[c_l]+=(y-x+1)*k;
}
else{
for(int i=x ; i<=(c_l+1)*rootn-1 && i<=sz-1 ; i++)
arr[i]+=k;
bsum[c_l]+=((c_l+1)*rootn-1-x+1)*k;
for(int i=c_l+1 ; i<=c_r-1 && i<=sz-1; i++){
bsum[i]+=(lli)rootn*k;
bchange[i]+= k;
}
for(int i=c_r*rootn ; i<=y && i<sz-1; i++)
arr[i]+=k;
bsum[c_r]+=(y-c_r*rootn+1)*k;
}
}
lli getsum(int y){
int x=0;
int c_l=0, c_r=y/rootn;
lli sum=0;
if(c_l==c_r)
for(int i=x ; i<=y ; i++)
sum+=arr[i]+bchange[c_l];
else{
for(int i=x ; i<=(c_l+1)*rootn-1 ; i++)
sum+=arr[i]+bchange[c_l];
for(int i=c_l+1 ; i<=c_r-1 ; i++)
sum+=bsum[i];
for(int i=c_r*rootn ; i<=y ; i++)
sum+=arr[i]+bchange[c_r];
}
return sum;
}
void printsum(){
int x,y;
cin>>x>>y; x--; y--;
lli maxsum=LLONG_MIN;
lli tmpsum;
FOR(i,x,y){
tmpsum=getsum(i);
maxsum=maxx(maxsum,tmpsum);
}
cout<<maxsum<<endl;
}
void initialise(){
for(int i=0;i<=n-1;i+=rootn)
for(int j=i;j<=i+rootn-1;j++)
if(j<=n-1)
bsum[(int)i/rootn]+=arr[j];
}
int main(){
boost
//freopen("in.txt","r",stdin);
cin>>n;
arr.resize(n);
FOR(i,0,n-1) cin>>arr[i];
rootn=floor(sqrt(n));
sz=ceil(sqrt(n));
bsum.resize(sz);
bchange.resize(sz);
initialise();
int queries,tmp;
cin>>queries;
while(queries--){
cin>>tmp;
if(tmp==0) update();
else printsum();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIEZPUihfaSxfYSxfYikgZm9yKGludCBfaT1fYTtfaTw9X2I7X2krKykKI2RlZmluZSBUQ0FTRSBpbnQgX3Q7Y2luPj5fdDtGT1IoX2ksMSxfdCkKI2RlZmluZSBORk9SKF9pLF9hLF9iKSBmb3IoaW50IF9pPV9hO19pPj1fYjtfaS0tKQojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGFsbChfdmVjKSBfdmVjLmJlZ2luKCksX3ZlYy5lbmQoKQojZGVmaW5lIHJhbGwoX3ZlYykgX3ZlYy5yYmVnaW4oKSxfdmVjLnJlbmQoKQojZGVmaW5lIFJFQUQoeCkgZnJlb3Blbih4LCJyIixzdGRpbik7CiNkZWZpbmUgVkVDVE9SUFJJTlQoX3ZlYykge2ludCBfdD0wO3doaWxlKF90PF92ZWMuc2l6ZSgpKXtjb3V0PDxfdmVjW190KytdPDwnICc7fX0KI2RlZmluZSB3aGF0aXMoeCkgY291dDw8I3g8PCI9ICI8PHg8PGVuZGw7CiNkZWZpbmUgUkVQKGksIG4pIGZvcihpbnQgaT0wO2k8bjtpKyspCiNkZWZpbmUgQVJSX1NJWkUoX2Fycikgc2l6ZW9mKF9hcnIpL3NpemVvZihfYXJyWzBdKQojZGVmaW5lIGJpdCh4LGkpICh4JigxPDxpKSkgIC8vc2VsZWN0IHRoZSBiaXQgb2YgcG9zaXRpb24gaSBvZiB4CiNkZWZpbmUgYml0Y291bnQoeCkgX19idWlsdGluX3BvcGNvdW50KHgpOwojZGVmaW5lIGJvb3N0IGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpO2Npbi50aWUoMCk7Y291dC50aWUoMCk7CiNkZWZpbmUgbW9zdF9zaWduaWZpY2FudCh4KSBfX2J1aWx0aW5fY2x6bGwgKHVuc2lnbmVkIGxvbmcgbG9uZykKI2RlZmluZSBtYXh4KGEsYikgKGE+Yj9hOmIpCiNkZWZpbmUgZ2V0eCBnZXRjaGFyX3VubG9ja2VkCiNkZWZpbmUgcHV0eCBwdXRjaGFyX3VubG9ja2VkCgp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOwp0eXBlZGVmIHZlY3Rvcjx2aSA+IHZ2aTsKdHlwZWRlZiB2ZWN0b3I8cGFpcjxpbnQsaW50PiA+IHZwaWk7CnR5cGVkZWYgbG9uZyBsb25nIGxsaTsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgdWxsaTsKdHlwZWRlZiB2ZWN0b3I8bGxpPiB2bGxpOwp0eXBlZGVmIHZlY3Rvcjx2ZWN0b3I8bGxpPiA+IG1hdHJpeDsKdHlwZWRlZiB2ZWN0b3I8ZG91YmxlPiB2ZDsKdHlwZWRlZiB2ZWN0b3I8bG9uZyBkb3VibGU+IHZsZDsKCmludCBuOwppbnQgcm9vdG4sc3o7CnZsbGkgYXJyOwp2bGxpIGJzdW07CnZsbGkgYmNoYW5nZTsKCnZvaWQgdXBkYXRlKCl7CiAgICBsbGkgeCx5LGs7CiAgICBjaW4+Png+Pnk+Pms7IHgtLTsgeS0tOwogICAgaW50IGNfbD14L3Jvb3RuLCAgY19yPXkvcm9vdG47CiAgICBpZihjX2w9PWNfcil7CiAgICAgICAgZm9yKGludCBpPXggOyBpPD15IDsgaSsrKQogICAgICAgICAgICBhcnJbaV0rPWs7CiAgICAgICAgYnN1bVtjX2xdKz0oeS14KzEpKms7CiAgICB9CiAgICBlbHNlewogICAgICAgIGZvcihpbnQgaT14IDsgaTw9KGNfbCsxKSpyb290bi0xICYmIGk8PXN6LTEgOyBpKyspCiAgICAgICAgICAgIGFycltpXSs9azsKICAgICAgICBic3VtW2NfbF0rPSgoY19sKzEpKnJvb3RuLTEteCsxKSprOwoKICAgICAgICBmb3IoaW50IGk9Y19sKzEgOyBpPD1jX3ItMSAmJiBpPD1zei0xOyBpKyspewogICAgICAgICAgICBic3VtW2ldKz0obGxpKXJvb3RuKms7CiAgICAgICAgICAgIGJjaGFuZ2VbaV0rPSBrOwogICAgICAgIH0KCiAgICAgICAgZm9yKGludCBpPWNfcipyb290biA7IGk8PXkgJiYgaTxzei0xOyBpKyspCiAgICAgICAgICAgICBhcnJbaV0rPWs7CiAgICAgICAgYnN1bVtjX3JdKz0oeS1jX3Iqcm9vdG4rMSkqazsKICAgIH0KfQoKbGxpIGdldHN1bShpbnQgeSl7CiAgICBpbnQgeD0wOwogICAgaW50IGNfbD0wLCAgY19yPXkvcm9vdG47CiAgICBsbGkgc3VtPTA7CiAgICBpZihjX2w9PWNfcikKICAgICAgICBmb3IoaW50IGk9eCA7IGk8PXkgOyBpKyspCiAgICAgICAgICAgIHN1bSs9YXJyW2ldK2JjaGFuZ2VbY19sXTsKICAgIGVsc2V7CiAgICAgICAgZm9yKGludCBpPXggOyBpPD0oY19sKzEpKnJvb3RuLTEgOyBpKyspCiAgICAgICAgICAgIHN1bSs9YXJyW2ldK2JjaGFuZ2VbY19sXTsKICAgICAgICBmb3IoaW50IGk9Y19sKzEgOyBpPD1jX3ItMSA7IGkrKykKICAgICAgICAgICAgc3VtKz1ic3VtW2ldOwogICAgICAgIGZvcihpbnQgaT1jX3Iqcm9vdG4gOyBpPD15IDsgaSsrKQogICAgICAgICAgICBzdW0rPWFycltpXStiY2hhbmdlW2Nfcl07CiAgICB9CiAgICByZXR1cm4gc3VtOwp9Cgp2b2lkIHByaW50c3VtKCl7CiAgICBpbnQgeCx5OwogICAgY2luPj54Pj55OyB4LS07IHktLTsKICAgIGxsaSBtYXhzdW09TExPTkdfTUlOOwogICAgbGxpIHRtcHN1bTsKICAgIEZPUihpLHgseSl7CiAgICAgICAgdG1wc3VtPWdldHN1bShpKTsKICAgICAgICBtYXhzdW09bWF4eChtYXhzdW0sdG1wc3VtKTsKICAgIH0KICAgIGNvdXQ8PG1heHN1bTw8ZW5kbDsKfQoKdm9pZCBpbml0aWFsaXNlKCl7CiAgICBmb3IoaW50IGk9MDtpPD1uLTE7aSs9cm9vdG4pCiAgICAgICAgZm9yKGludCBqPWk7ajw9aStyb290bi0xO2orKykKICAgICAgICAgICAgaWYoajw9bi0xKQogICAgICAgICAgICAgICAgYnN1bVsoaW50KWkvcm9vdG5dKz1hcnJbal07Cn0KCmludCBtYWluKCl7CiAgICBib29zdAogICAgLy9mcmVvcGVuKCJpbi50eHQiLCJyIixzdGRpbik7CiAgICBjaW4+Pm47CiAgICBhcnIucmVzaXplKG4pOwogICAgRk9SKGksMCxuLTEpIGNpbj4+YXJyW2ldOwogICAgcm9vdG49Zmxvb3Ioc3FydChuKSk7CiAgICBzej1jZWlsKHNxcnQobikpOwogICAgYnN1bS5yZXNpemUoc3opOwogICAgYmNoYW5nZS5yZXNpemUoc3opOwoKICAgIGluaXRpYWxpc2UoKTsKCiAgICBpbnQgcXVlcmllcyx0bXA7CiAgICBjaW4+PnF1ZXJpZXM7CiAgICB3aGlsZShxdWVyaWVzLS0pewogICAgICAgIGNpbj4+dG1wOwogICAgICAgIGlmKHRtcD09MCkgdXBkYXRlKCk7CiAgICAgICAgZWxzZSBwcmludHN1bSgpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==