#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 4000000000000000001 int main(){ int N,A,B; cin>>N>>A>>B; string s; cin>>s; vector t(1,0); rep(i,s.size()){ while(s.substr(i,3)=="con"){ t.back()++; i += 3; } t.push_back(0); } vector dp(N+1,-Inf32); dp[0] = 0; rep(i,t.size()){ if(t[i]==0)continue; vector ndp(N+1,-Inf32); rep(j,N+1){ if(dp[j]==-Inf32)continue; rep(k,t[i]/A+1){ if(j+k>N)break; ndp[j+k] = max(ndp[j+k],dp[j] + (t[i]-k*A)/B); } } swap(dp,ndp); } int ans = 0; rep(i,N+1){ if(dp[i]==-Inf32)continue; int x = i,y = dp[i]; if(x>y+1)x = y+1; if(y>x)y = x; ans = max(ans,x+y); } cout<