#include <bits/stdc++.h>
using namespace std;
int n, a, b, T;
string zgodnie, przeciwnie;
void wczytaj_dane() {
  cin >> n >> a >> b >> T >> zgodnie;
  przeciwnie.resize(n);
  przeciwnie[0] = zgodnie[0];
  for (int i = (1); i <= (n - 1); i++) przeciwnie[i] = zgodnie[n - i];
}
int obrot(char znak) { return znak == 'w' ? b : 0; }
int idz(const string& s, int& c) {
  c = 0;
  if (T < 1 + obrot(s[0])) return 0;
  c = 1 + obrot(s[0]);
  for (int i = (1); i <= (n - 1); i++) {
    if (T < c + a + 1 + obrot(s[i])) return i;
    c += a + 1 + obrot(s[i]);
  }
  return n;
}
int zawroc(const string& s) {
  int c, i = idz(s, c);
  if (i == 0 || i == n) return i;
  int wynik = i;
  for (int j = (n - 1); j >= (1); j--) {
    c += 2 * a + 1 + obrot(s[j]);
    while (T < c) {
      if (i == 1) break;
      c -= a + 1 + obrot(s[--i]);
    }
    if (i == 1) break;
    wynik = max(wynik, min(n, i + (n - j)));
  }
  return wynik;
}
void zrob_test() {
  wczytaj_dane();
  cout << max(zawroc(zgodnie), zawroc(przeciwnie)) << '\n';
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  zrob_test();
  return 0;
}
