#include<iostream>
using namespace std;

const int N = 5 * 1e5 + 5;
int sum[N];
int a[N]; 
int n, m;
int lowbit(int x){
	return x & -x;
}

void add(int x, int k){
	while(x <= n){
		sum[x] += k;
		x += lowbit(x);
	}
	return;
}

int ask(int x){
	int s = 0;
	while(x){
		s += sum[x];
		x -= lowbit(x);
	}
	return s;
}

int main(){
	
	cin >> n >> m;
	
	for(int i = 1;i <= n;i ++){
		cin >> a[i];
	}
	
	for(int i = 1;i <= m;i ++){
		int op; cin >> op;
		if(op == 1){
			int x, y, k; cin >> x >> y >> k;
			add(x, k), add(y + 1, -k);
		}
		else{
			int x; cin >> x;
			cout << a[x] + ask(x) << '\n';
		}
	}
	
	return 0;
}
