#include <bits/stdc++.h>
using namespace std;
const long long maxn = 1000 * 100 + 11;
long long arr[maxn], temp[maxn], tot = 0;
int main() {
  int n, m;
  cin >> n >> m;
  for (int i = 1; i <= n; i++) cin >> arr[i];
  for (int i = 0; i < m; i++) {
    int l;
    cin >> l;
    if (l == 1) {
      long long a, b;
      cin >> a >> b;
      temp[a] = tot;
      arr[a] = b;
    }
    if (l == 2) {
      long long a;
      cin >> a;
      tot += a;
    }
    if (l == 3) {
      long long a;
      cin >> a;
      cout << arr[a] - temp[a] + tot << endl;
    }
  }
  cin >> n;
  return 0;
}
