#include <bits/stdc++.h>
using namespace std;
int n, a, b;
long long t;
bool f[500005];
bool judge(int x) {
  int l = n - 1, r = x, i;
  long long k = (a + 1) * x;
  for (i = 1; i <= x; i++)
    if (!f[i]) k += b;
  if (k <= t) return true;
  if (!f[r]) k -= b;
  r--;
  k += (x - 1) * a;
  if (!f[l]) k += b;
  while (r) {
    if (!f[r]) k -= b;
    r--;
    k -= a;
    l--;
    if (!f[l]) k += b;
    if (k <= t) return true;
  }
  return false;
}
int main() {
  int i, l, r, mid;
  char s[500005];
  scanf("%d%d%d%I64d", &n, &a, &b, &t);
  scanf("%s", s);
  l = strlen(s);
  for (i = 0; i < l; i++) {
    if (s[i] == 'w')
      f[i] = 0;
    else
      f[i] = 1;
  }
  t--;
  if (!f[0]) {
    if (t < b + 1) {
      puts("0");
      return 0;
    }
    t -= b;
  }
  l = 0;
  r = n;
  while (r > l + 1) {
    mid = (l + r) >> 1;
    if (judge(mid))
      l = mid;
    else
      r = mid;
  }
  printf("%d\n", l + 1);
}
