#include <bits/stdc++.h>
int main() {
  long long n, m, l;
  std::cin >> n >> m >> l;
  std::vector<long long> a(n);
  std::vector<bool> otr(n + 2);
  for (int i = 0; i < n; i++) std::cin >> a[i];
  long long kol_otr = 0;
  for (int i = 0; i < n; i++) {
    if (a[i] > l) {
      otr[i + 1] = true, kol_otr++;
      if (otr[i]) {
        kol_otr--;
      }
    }
  }
  for (int _ = 0; _ < m; _++) {
    long long q;
    std::cin >> q;
    if (!q) {
      std::cout << kol_otr << '\n';
      continue;
    } else {
      long long i, x;
      std::cin >> i >> x;
      a[i - 1] += x;
      if (a[i - 1] - x <= l && a[i - 1] > l) {
        kol_otr++;
        otr[i] = true;
        if (otr[i + 1] && otr[i - 1]) {
          otr[i] = true;
          kol_otr -= 2;
        } else if (otr[i + 1] || otr[i - 1]) {
          otr[i] = true;
          kol_otr--;
        }
      }
    }
  }
  return 0;
}
