#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline T abs(T t) {
  return t < 0 ? -t : t;
}
const long long modn = 1000000007;
inline long long mod(long long x) { return x % modn; }
const int MAXN = 212345;
int n, m, k;
int v[3];
long long bit[3][MAXN];
long long qry(int t, int i) {
  i += 2;
  i = min(i, MAXN - 1);
  long long ans = 0;
  while (i > 0) {
    ans += bit[t][i];
    i -= (i & -i);
  }
  return ans;
}
void upd(int t, int i, long long val) {
  i += 2;
  while (i < MAXN) {
    bit[t][i] += val;
    i += (i & -i);
  }
}
int main() {
  scanf("%d%d%d%d%d", &n, &k, &v[1], &v[0], &m);
  for (int a = 0; a < m; a++) {
    int t;
    scanf("%d", &t);
    if (t == 1) {
      int d;
      long long q;
      scanf("%d %lld", &d, &q);
      for (int a = 0; a < 2; a++) {
        long long qtd = qry(a, d) - qry(a, d - 1);
        upd(a, d, min(q, v[a] - qtd));
      }
    } else {
      int ini;
      scanf("%d", &ini);
      printf("%lld\n",
             qry(0, ini - 1) + qry(1, MAXN - 10) - qry(1, ini + k - 1));
    }
  }
}
