#include <bits/stdc++.h>
using namespace std;
using namespace std;
char c1[500005], c2[500005];
long long d1[500005], d2[500005];
long long n, a, b, t;
int bs(long long target, int R) {
  int l = 0, r = R, mid;
  int fin = 0;
  for (;;) {
    mid = (l + r) / 2;
    if (d2[mid] > target)
      r = mid - 1;
    else {
      if (fin < mid) fin = mid;
      l = mid + 1;
    }
    if (l > r) return fin;
  }
}
int bs2(long long target, int R) {
  int l = 0, r = R, mid;
  int fin = 0;
  for (;;) {
    mid = (l + r) / 2;
    if (d1[mid] > target)
      r = mid - 1;
    else {
      if (fin < mid) fin = mid;
      l = mid + 1;
    }
    if (l > r) return fin;
  }
}
int main() {
  cin >> n >> a >> b >> t;
  cin >> c1;
  c2[0] = c1[0];
  for (int i = 1; i < n; i++) c2[i] = c1[n - i];
  for (int i = 0; i < n; i++) {
    if (i != 0)
      d1[i] = d1[i - 1], d2[i] += d2[i - 1];
    else
      d1[i] = d2[i] = -a;
    d1[i] += a + 1, d2[i] += a + 1;
    if (c1[i] == 'w') d1[i] += b;
    if (c2[i] == 'w') d2[i] += b;
  }
  int ans = 0;
  for (int i = 0; i < n; i++)
    if (d1[i] <= t || d2[i] <= t) ans = i + 1;
  for (int i = 0; i < n; i++) {
    long long rest = t - d1[i] - i * a;
    if (rest <= 0) continue;
    if (ans < i + 1 + bs(rest + d1[0], n - i - 1))
      ans = i + 1 + bs(rest + d1[0], n - i - 1);
  }
  for (int i = 0; i < n; i++) {
    long long rest = t - d2[i] - i * a;
    if (rest <= 0) continue;
    if (ans < i + 1 + bs2(rest + d1[0], n - i - 1))
      ans = i + 1 + bs2(rest + d1[0], n - i - 1);
  }
  cout << ans << endl;
}
