#include using namespace std; vector bit, vetor_100pct_original; void update_bit(int pos, int x){ int pracsum = -vetor_100pct_original[pos-1]; vetor_100pct_original[pos-1] = x; for(; pos <= bit.size(); pos += (pos&-pos)){ bit[pos] += pracsum + x; } } int sumrange_bit(int pos){ int answ = 0; for(; pos > 0; pos -= (pos&-pos)){ answ += bit[pos]; } return answ; } int main(){ ios::sync_with_stdio(false); int n,q, x, t,k,p; cin >> n >> q; bit.assign(n+1,0); vetor_100pct_original.assign(n,0); for(int i = 1; i <= n; i++){ cin >> x; bit[i] += x; vetor_100pct_original[i-1] = x; for(int j = i+(i&-i); j <= n; j += (j&-j)){ bit[j] += x; } } while(q--){ cin >> t >> k; if(t == 0){ cin >> p; update_bit(k, p); }else{ cout << sumrange_bit(k) << '\n'; } } return 0; }