#include <bits/stdc++.h>
using namespace std;
const long long N = 2e5 + 7;
long long n, k, a, b, q, bit[5][N];
long long query(long long j, long long i) {
  long long sum = 0;
  while (i > 0) {
    sum += bit[j][i];
    i -= (i & -i);
  }
  return sum;
}
void update(long long j, long long i, long long x) {
  while (i <= n) {
    bit[j][i] += x;
    i += (i & -i);
  }
  return;
}
int main() {
  scanf("%lld %lld %lld %lld %lld", &n, &k, &a, &b, &q);
  while (q--) {
    long long op;
    scanf("%lld", &op);
    if (op == 1) {
      long long d, ai, z = 0;
      scanf("%lld %lld", &d, &ai);
      long long v = query(0, d) - query(0, d - 1);
      if (v <= b) {
        if (v + ai > b)
          update(0, d, b - v);
        else
          update(0, d, ai);
      }
      v = query(1, d) - query(1, d - 1);
      if (v <= a) {
        if (v + ai > a)
          update(1, d, a - v);
        else
          update(1, d, ai);
      }
    } else {
      long long p;
      scanf("%lld", &p);
      long long ant = 0;
      if (p - 1 > 0) ant = query(0, p - 1);
      long long dep = query(1, n) - query(1, p + k - 1);
      printf("%lld\n", ant + dep);
    }
  }
  return 0;
}
