#include <bits/stdc++.h>
using namespace std;
const int mx = 2e5 + 1, mxs = 4 * mx;
int d[mx], segb[mxs], sega[mxs];
int n, k, a, b, q;
void update(int v, int S, int E, int i, int x) {
  if (E - S < 2) {
    d[S] += x;
    sega[v] = min(d[S], a);
    segb[v] = min(d[S], b);
    return;
  }
  int mid = (S + E) / 2;
  if (i < mid)
    update(2 * v, S, mid, i, x);
  else
    update(2 * v + 1, mid, E, i, x);
  sega[v] = sega[2 * v] + sega[2 * v + 1];
  segb[v] = segb[2 * v] + segb[2 * v + 1];
}
int get(int v, int S, int E, int L, int R, bool ab) {
  if (L == R) return 0;
  if (L == S && R == E) {
    if (ab)
      return segb[v];
    else
      return sega[v];
  }
  int mid = (S + E) / 2;
  int a1 = get(2 * v, S, mid, min(L, mid), min(R, mid), ab);
  int a2 = get(2 * v + 1, mid, E, max(L, mid), max(R, mid), ab);
  return a1 + a2;
}
int main() {
  cin >> n >> k >> a >> b >> q;
  int qt, i, x;
  while (q--) {
    cin >> qt;
    if (qt % 2) {
      cin >> i >> x;
      i--;
      update(1, 0, n, i, x);
    } else {
      cin >> i;
      i--;
      int ansa = get(1, 0, n, i + k, n, 0);
      int ansb = get(1, 0, n, 0, i, 1);
      cout << ansa + ansb << '\n';
    }
  }
  return 0;
}
