#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define dd double
#define ld long double
#define pi 3.14159265359
#define ull unsigned long long
#define yes cout<<"YES\n"
#define no cout<<"NO\n"
#define el "\n"
#define Arwa ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define fix(x) cout<<fixed<<setprecision(x)
ll gcd(ll a,ll b) {return b==0?a:gcd(b,a%b);}
ll lcm(int a,int b) {return a/gcd(a,b)*b;}
bool prime(ll n)
{
if(n==2) return true;
if(n%2==0||n==1) return false;
else { for(ll i=3; i*i<=n; i+=2) {if(n%i==0) return false;}}return true;
}
//here we go again
int main()
{
Arwa
int t=1;
//cin>>t;
while(t--)
{
string s;
cin>>s;
int prea[s.length()]={},preb[s.length()]={};
for(int i=0;i<s.length();i++)
{
if(s[i]=='a')
{
if(i-1>=0)
prea[i]=prea[i-1]+1;
else
prea[i]=1;
}
else
{
if(i-1>=0)
preb[i]=preb[i-1]+1;
else
preb[i]=1;
}
if(i-1>=0&&s[i]=='a')
preb[i]=preb[i-1];
else
if(i-1>=0&&s[i]=='b')
prea[i]=prea[i-1];
}
//for(int i=0;i<s.length();i++)
//cout<<prea[i]<<' ';
//cout<<el;
//for(int i=0;i<s.length();i++)
//cout<<preb[i]<<' ';
int sum=0,max=0;
for(int i=0;i<s.length();i++)
{
for(int j=i+1;j<s.length();j++)
{
sum+=prea[i];
if(i-1>=0)
sum+=(preb[j]-preb[i-1]);
else
{
sum+=preb[j];
//cout<<preb[j]<<el;
}
sum+=prea[s.length()-1]-prea[j-1];
//cout<<sum<<el;
if(sum>max)
max=sum;
sum=0;
}
}
cout<<max<<el;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZGQgZG91YmxlCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKI2RlZmluZSBwaSAzLjE0MTU5MjY1MzU5CiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIHllcyBjb3V0PDwiWUVTXG4iCiNkZWZpbmUgbm8gY291dDw8Ik5PXG4iCiNkZWZpbmUgZWwgIlxuIgojZGVmaW5lIEFyd2EgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKI2RlZmluZSBmaXgoeCkgY291dDw8Zml4ZWQ8PHNldHByZWNpc2lvbih4KQpsbCBnY2QobGwgYSxsbCBiKSB7cmV0dXJuIGI9PTA/YTpnY2QoYixhJWIpO30KbGwgbGNtKGludCBhLGludCBiKSB7cmV0dXJuIGEvZ2NkKGEsYikqYjt9CmJvb2wgcHJpbWUobGwgbikKewoJaWYobj09MikgcmV0dXJuIHRydWU7CglpZihuJTI9PTB8fG49PTEpIHJldHVybiBmYWxzZTsKCWVsc2UgeyBmb3IobGwgaT0zOyBpKmk8PW47IGkrPTIpIHtpZihuJWk9PTApIHJldHVybiBmYWxzZTt9fXJldHVybiB0cnVlOwp9Ci8vaGVyZSB3ZSBnbyBhZ2FpbgppbnQgbWFpbigpCnsKICAgIEFyd2EKICAgIGludCB0PTE7CiAgICAvL2Npbj4+dDsKICAgIHdoaWxlKHQtLSkKICAgIHsKICAgICBzdHJpbmcgczsKICAgICBjaW4+PnM7CiAgICAgaW50IHByZWFbcy5sZW5ndGgoKV09e30scHJlYltzLmxlbmd0aCgpXT17fTsKICAgICBmb3IoaW50IGk9MDtpPHMubGVuZ3RoKCk7aSsrKQogICAgIHsKICAgICAgICBpZihzW2ldPT0nYScpCiAgICAgICAgewogICAgICAgIGlmKGktMT49MCkKICAgICAgICBwcmVhW2ldPXByZWFbaS0xXSsxOwogICAgICAgIGVsc2UKICAgICAgICBwcmVhW2ldPTE7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgaWYoaS0xPj0wKQogICAgICAgIHByZWJbaV09cHJlYltpLTFdKzE7CiAgICAgICAgZWxzZQogICAgICAgIHByZWJbaV09MTsgCiAgICAgICAgfQogICAgICAgIGlmKGktMT49MCYmc1tpXT09J2EnKQogICAgICAgIHByZWJbaV09cHJlYltpLTFdOwogICAgICAgIGVsc2UKICAgICAgICBpZihpLTE+PTAmJnNbaV09PSdiJykKICAgICAgICBwcmVhW2ldPXByZWFbaS0xXTsKICAgICB9CiAgICAgLy9mb3IoaW50IGk9MDtpPHMubGVuZ3RoKCk7aSsrKQogICAgIC8vY291dDw8cHJlYVtpXTw8JyAnOwogICAgIC8vY291dDw8ZWw7CiAgICAgLy9mb3IoaW50IGk9MDtpPHMubGVuZ3RoKCk7aSsrKQogICAgIC8vY291dDw8cHJlYltpXTw8JyAnOwogICAgaW50IHN1bT0wLG1heD0wOwogICAgZm9yKGludCBpPTA7aTxzLmxlbmd0aCgpO2krKykKICAgIHsKICAgICAgICBmb3IoaW50IGo9aSsxO2o8cy5sZW5ndGgoKTtqKyspCiAgICAgICAgewogICAgICAgICAgICBzdW0rPXByZWFbaV07CiAgICAgICAgICAgIGlmKGktMT49MCkKICAgICAgICAgICAgc3VtKz0ocHJlYltqXS1wcmViW2ktMV0pOwogICAgICAgICAgICBlbHNlIAogICAgICAgICAgICB7CiAgICAgICAgICAgIHN1bSs9cHJlYltqXTsKICAgICAgICAgICAgLy9jb3V0PDxwcmViW2pdPDxlbDsKICAgICAgICAgICAgfQogICAgICAgICAgICBzdW0rPXByZWFbcy5sZW5ndGgoKS0xXS1wcmVhW2otMV07CiAgICAgICAgICAgIC8vY291dDw8c3VtPDxlbDsKICAgICAgICAgICAgaWYoc3VtPm1heCkKICAgICAgICAgICAgbWF4PXN1bTsKICAgICAgICAgICAgc3VtPTA7CiAgICAgICAgfQogICAgfQogICAgY291dDw8bWF4PDxlbDsKICAgIH0KICAgIHJldHVybiAwOwp9