#include <cstdio>
#include <algorithm>
typedef long long ll;
using ::std::max;
const int MAXN = 5e4 + 10;
int n, q;
ll a[MAXN];
int main() {
freopen("hod.in", "r", stdin);
freopen("hod.out", "w", stdout);
scanf("%d", &n);
for (int i = 1; i <= n; ++i) {
scanf("%lld", &a[i]);
}
scanf("%d", &q);
while (q--) {
int op, l, r; ll k;
scanf("%d %d %d", &op, &l, &r);
if (op == 1) {
ll sum = 0, ans = -0x7fffffffffffffff;
for (int i = 1; i <= l - 1; ++i) {
sum += a[i];
}
for (int i = l; i <= r; ++i) {
sum += a[i];
ans = max(ans, sum);
}
printf("%lld\n", ans);
} else {
scanf("%lld", &k);
for (int i = l; i <= r; ++i) {
a[i] += k;
}
}
}
return 0;
}