#define PROBLEM "https://judge.yosupo.jp/problem/point_add_range_sum"
#include"../../template.h"
#include"Sqrt.h"voidsolve(){intn,q;cin>>n>>q;vector<ll>a(n);for(inti=0;i<n;i++)cin>>a[i];SimpleSqrtSqrt(n,a);while(q--){inttv;cin>>tv;if(tv==0){intpos,val;cin>>pos>>val;Sqrt.add(pos,val);}else{intl,r;cin>>l>>r;cout<<Sqrt.query(l,r-1)<<'\n';}}}
#line 1 "DataStructure/SqrtDecomposition/Point_Add_Range_Sum.test.cpp"
#define PROBLEM "https://judge.yosupo.jp/problem/point_add_range_sum"
#line 2 "template.h"
#include<bits/stdc++.h>usingnamespacestd;#define ll long long
#define MOD (ll)(1e9+7)
#define all(x) (x).begin(),(x).end()
#define unique(x) x.erase(unique(all(x)), x.end())
#define INF32 ((1ull<<31)-1)
#define INF64 ((1ull<<63)-1)
#define inf (ll)1e18
#define vi vector<int>
#define pii pair<int, int>
#define pll pair<ll, ll>
#define fi first
#define se second
constintmod=998244353;voidsolve();intmain(){ios_base::sync_with_stdio(false);cin.tie(NULL);// cin.exceptions(cin.failbit);// int t; cin >> t;// while(t--)solve();cerr<<"\nTime run: "<<1000*clock()/CLOCKS_PER_SEC<<"ms"<<'\n';return0;}#line 2 "DataStructure/SqrtDecomposition/Sqrt.h"
classSimpleSqrt{public:intn,block_sz;vector<ll>a,block;SimpleSqrt(){}SimpleSqrt(int_n):n(_n),a(_n,0){block_sz=sqrt(_n);block.resize(n/block_sz+1);}SimpleSqrt(int_n,vector<ll>&arr):n(_n),a(arr){block_sz=sqrt(n);block.resize(n/block_sz+1);intcnt=-1;for(inti=0;i<n;i++){if(i%block_sz==0)cnt++;block[cnt]+=arr[i];}}llquery(intl,intr){llsum=0;for(inti=l;i<=r;){if(i%block_sz==0&&i+block_sz-1<=r){sum+=block[i/block_sz];i+=block_sz;}else{sum+=a[i];i++;}}returnsum;}voidadd(intpos,intval){intidx=pos/block_sz;block[idx]+=val;a[pos]+=val;}};#line 5 "DataStructure/SqrtDecomposition/Point_Add_Range_Sum.test.cpp"
voidsolve(){intn,q;cin>>n>>q;vector<ll>a(n);for(inti=0;i<n;i++)cin>>a[i];SimpleSqrtSqrt(n,a);while(q--){inttv;cin>>tv;if(tv==0){intpos,val;cin>>pos>>val;Sqrt.add(pos,val);}else{intl,r;cin>>l>>r;cout<<Sqrt.query(l,r-1)<<'\n';}}}