func_code_string: #include <bits/stdc++.h>   using namespace std;   char s[555555];   int t[555555];   int n, a, b, T;   int getAns() {     for (int i = 0; i + 1 < n - 1 - i; i++) {       swap(t[i + 1], t[n - 1 - i]);     }     if (t[0] > T) {       return 0;     }     int ct = t[0];     int ans = 1;     for (int i = 1; i < n; i++) {       ct += a + t[i];       if (ct <= T) {         ans = i + 1;       }     }     if (ans == n) {       return ans;     }     long long wt = t[0];     int bi = n - 1;     while (wt + a + t[bi] <= T) {       wt += a + t[bi];       bi--;     }     ans = max(ans, n - bi);     for (int i = 1; i + 1 < n; i++) {       wt += 2 * a + t[i];       while (wt > T && bi + 1 < n) {         bi++;         wt -= a + t[bi];       }       if (wt > T) {         break;       }       ans = max(ans, i + n - bi);     }     return ans;   }   int main() {     scanf( %d , &n);     scanf( %d%d , &a, &b);     scanf( %d , &T);     scanf(  n%s , s);     for (int i = 0; i < n; i++) {       t[i] = 1;       if (s[i] ==  w ) {         t[i] += b;       }     }     cout << max(getAns(), getAns());     return 0;   }   