#include<bits/stdc++.h>
#define maxn 500005
//#define int long long
using namespace std;
inline int read()
{
char x = getchar();
int lin = 0, f = 1;
while(x < '0' || x > '9')
{
if(x == '-') f = -1;
x = getchar();
}
while(x >= '0' && x <= '9')
{
lin = (lin << 1) + (lin << 3) + x - '0';
x = getchar();
}
return lin * f;
}
#define PII pair<int,int>
#define fir first
#define sec second
#define ma(a,b) make_pair(a,b)
#define db double
#define inf 123123123
#define lb(x) x&-x
int f[maxn],n,ty,x,y,m;
void add(int x,int val)
{
while(x < maxn)
{
f[x] += val;
x += lb(x);
}
}
int query(int x)
{
int ans = 0;
while(x)
{
ans += f[x];
x -= lb(x);
}
return ans;
}
signed main(){
n = read(); m = read();
for(int i = 1; i <= n; i++)
{
ty = read();
add(i,ty);
}
for(int i = 1; i <= m; i++)
{
ty = read();
x = read(); y = read();
if(ty == 1) add(x,y);
else printf("%d\n",query(y) - query(x - 1));
}
}