#include <bits/stdc++.h>
using namespace std;
int n, k, a, b, q;
const int maxn = 200100;
struct Fenwick {
  long long a[maxn];
  long long t[maxn];
  long long bound;
  Fenwick(int bd) : bound(bd) {
    memset(a, 0, sizeof(a));
    memset(t, 0, sizeof(t));
  }
  void add(int pos, long long delta) {
    delta = min(delta, bound - a[pos]);
    a[pos] += delta;
    for (int i = pos; i < maxn; i |= i + 1) t[i] += delta;
  }
  long long get(int r) {
    long long res = 0;
    for (int i = r - 1; i >= 0; i = (i & (i + 1)) - 1) res += t[i];
    return res;
  }
  long long get(int l, int r) {
    if (l >= r) return 0;
    return get(r) - get(l);
  }
};
int main() {
  cin >> n >> k >> a >> b >> q;
  Fenwick pref(b), suf(a);
  for (int i = 0; i < int(q); ++i) {
    int t;
    scanf("%d", &t);
    if (t == 1) {
      int d, x;
      scanf("%d%d", &d, &x);
      --d;
      pref.add(d, x);
      suf.add(d, x);
    } else {
      int d;
      scanf("%d", &d);
      --d;
      long long res = pref.get(d) + suf.get(d + k, n);
      cout << res << '\n';
    }
  }
}
