#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 0; } int main() { int N, Q; cin >> N >> Q; assert(N <= 500000); vector A(N); for (int i = 0; i < N; i++) { cin >> A[i]; } segtree seg(A); while (Q--) { int t; ll a, b; cin >> t >> a >> b; if (t == 1) { a--; seg.set(a, seg.get(a) + b); } else { a--; b--; cout << seg.prod(a, b + 1) << '\n'; } } }