#include <bits/stdc++.h>
using namespace std;
int cum[555555];
int sum[555555];
int main() {
  cin.sync_with_stdio(0);
  int n, a, b, t;
  cin >> n >> a >> b >> t;
  string s;
  cin >> s;
  for (auto(i) = (0); (i) < (n); (i)++) {
    if (s[i] == 'w') sum[i] = 1;
    if (s[i] == 'w') cum[i] = 1;
  }
  for (auto(i) = (1); (i) < (n + 1); (i)++) {
    sum[i] += sum[i - 1];
  }
  for (int i = n - 1; i >= 0; i--) cum[i] += cum[i + 1];
  for (auto(i) = (0); (i) < (n); (i)++) {
    ;
  }
  for (auto(i) = (0); (i) < (n); (i)++) {
    ;
  }
  int ans = 0;
  for (auto(i) = (0); (i) < (n); (i)++) {
    int cur = t;
    t -= a * (i);
    t -= b * (sum[i]);
    t -= (i + 1);
    ;
    if (t >= 0) {
      ans = max(ans, i + 1);
      t -= a * i;
      if (t >= 0) {
        int lo = min(i + 1, n - 1);
        int mi;
        int hi = n - 1;
        if (i == n - 1) {
          ans = n;
          cout << n << endl;
          exit(0);
        }
        while (lo < hi) {
          mi = (lo + hi) / 2;
          if (t >= (n - mi) * (a + 1) + (cum[mi] - cum[n]) * b) {
            hi = mi;
          } else {
            lo = mi + 1;
          }
        }
        if (t >= (n - lo) * (a + 1) + (cum[lo] - cum[n]) * b)
          ans = max(ans, i + 1 + n - lo);
      }
    }
    t = cur;
  }
  for (auto(i) = (0); (i) < (n); (i)++) {
    int cur = t;
    t -= a * (n - i);
    t -= b * (sum[n - 1] - (i ? sum[i - 1] : 0));
    if (s[0] == 'w') t -= b;
    t -= (n - i + 1);
    if (t >= 0) {
      ans = max(ans, n - i + 1);
      t -= a * (n - i);
      if (t >= 0) {
        int lo = 0;
        int hi = i - 1;
        int mi;
        while (lo < hi) {
          mi = (lo + hi) / 2;
          mi++;
          if (t >= mi * (a + 1) + (sum[mi] - sum[0]) * b) {
            lo = mi;
          } else {
            hi = mi - 1;
          }
        }
        ans = max(ans, lo + n - i + 1);
      }
    }
    t = cur;
  }
  cout << ans << endl;
  return 0;
}
