#include using namespace std; //#include //using namespace atcoder; template bool chmax(T &u, const T z) { if (u < z) {u = z; return true;} else return false; } template bool chmin(T &u, const T z) { if (u > z) {u = z; return true;} else return false; } #define ll long long #define rep(i, n) for (ll i = 0; i < (ll)(n); i++) //#define endl "\n" typedef pair P; const ll INF = 1e18; //using mint = modint1000000007; //using mint = modint998244353; //const int INF=INT_MAX; ll gcd(ll x, ll y) { return y ? gcd(y, x % y) : x; } ll lcm(ll a, ll b){return a * b / gcd(a, b);} int main(){ string s,t; cin>>s; rep(i,s.size()){ if(s[i]!=s[i+1]){ t.push_back(s[i]); } } mapmp; rep(i,t.size()){ mp[t[i]]++; } vectora(3); a[0]=mp['a']; a[1]=mp['b']; a[2]=mp['c']; sort(a.begin(),a.end()); int sa1=a[1]-a[0]; int sa2=a[2]-a[1]; int ans=a[0]*3+1; if(sa1*2>=6)ans+=5; else if(sa2>0)ans+=sa1*2+1; else ans+=sa1*2; cout<