#include <bits/stdc++.h>
using namespace std;
int n;
struct rt {
  long long v[400005];
  long long mxv;
  void add(int i, long long c) {
    i += n;
    v[i] = min(v[i] + c, mxv);
    for (; i > 1; i /= 2) v[i / 2] = v[i] + v[i ^ 1];
  }
  long long qu(int l, int r) {
    long long a = 0;
    for (l += n, r += n; l < r; l /= 2, r /= 2) {
      if (l & 1) a += v[l++];
      if (r & 1) a += v[--r];
    }
    return a;
  }
} ra, rb;
int k;
long long a, b;
int q;
int main() {
  scanf("%d %d %lld %lld %d", &n, &k, &a, &b, &q);
  ra.mxv = b;
  rb.mxv = a;
  for (int z = (0); z < (q); z++) {
    int t;
    scanf("%d", &t);
    if (t == 1) {
      int d, v;
      scanf("%d%d", &d, &v);
      d--;
      ra.add(d, v);
      rb.add(d, v);
    } else {
      int p;
      scanf("%d", &p);
      p--;
      long long ans = ra.qu(0, p) + rb.qu(p + k, n);
      printf("%lld\n", ans);
    }
  }
}
