#include #include using namespace std; using namespace atcoder; using ll = long long; ll op(ll a, ll b) { return max(a, b); } ll e() { return -(ll)1e18; } int main () { int N, Q; cin >> N >> Q; std::vector A(N); for (ll& a : A) cin >> a; segtree sg(A); while (Q--) { int t; cin >> t; if (t-1) { int l, r; cin >> l >> r; cout << sg.prod(--l, r) << endl; } else { int l; ll x; cin >> l >> x; l --; sg.set(l, A[l] + x); A[l] += x; } } }