#include <bits/stdc++.h>
using namespace std;
long long r, m, n, x, y, a[5000005], b[5000005];
long long fb(long long i, long long j, long long p) {
  if (p < b[i]) return i - 1;
  if (p >= b[j]) return j;
  long long mid = (i + j) / 2;
  if (b[mid] >= p && b[mid + 1] < p) return mid;
  if (b[mid] > p)
    return fb(i, mid, p);
  else
    return fb(mid + 1, j, p);
}
long long fb2(long long i, long long j, long long p) {
  if (p < a[i]) return i - 1;
  if (p >= a[j]) return j;
  long long mid = (i + j) / 2;
  if (a[mid] >= p && a[mid + 1] < p) return mid;
  if (a[mid] > p)
    return fb2(i, mid, p);
  else
    return fb2(mid + 1, j, p);
}
int main() {
  ios_base::sync_with_stdio(0);
  long long k = 0, t = 0, z = 1e7, l = 0, i, j;
  cin >> n >> x >> y >> t;
  string s;
  cin >> s;
  z = 0;
  for (i = n - 1; i >= 0; i--) {
    l = l + x;
    if (s[i] == 'w') l = l + y;
    l++;
    b[z++] = l;
    if (l > t) break;
  }
  l = 0;
  for (i = 0; i < n; i++) {
    if (s[i] == 'w') l = l + y;
    l++;
    a[i] = l;
    if (l > t) break;
    l = l + x;
  }
  sort(a, a + i);
  sort(b, b + z);
  long long sa = i;
  l = 0;
  r = 0;
  i = 0;
  for (i = 0; i < sa; i++) {
    l = a[i];
    if (l > t) break;
    m = t - l - i * x;
    if (m > 0) {
      j = fb(0, z - 1, m) + 1;
      r = max(r, i + j + 1);
    } else
      r = max(r, i + 1);
  }
  for (i = 0; i < z; i++) b[i] += a[0];
  for (i = 1; i < sa; i++) a[i] = a[i] - a[0] - x;
  for (i = 0; i < z; i++) {
    l = b[i];
    if (l > t) break;
    m = t - l - (i + 2) * x;
    if (m > 0) {
      j = fb2(1, sa - 1, m);
      r = max(r, i + j + 2);
    } else
      r = max(r, i + 2);
  }
  r = min(r, n);
  cout << r;
  ;
  return 0;
}
