#include <bits/stdc++.h>
using namespace std;
string str;
int l, dp[5005][5];
int func(int i, int p) {
  if (i >= l || p > 2) return 0;
  if (dp[i][p] != -1) return dp[i][p];
  int r1 = 0, r2 = 0, r3 = 0, r4 = 0, r5 = 0;
  r1 = func(i + 1, p);
  r2 = func(i + 1, p + 1);
  if (str[i] == 'a' && (p == 0 || p == 2))
    r3 = 1 + max(func(i + 1, p), func(i + 1, p + 1));
  if (str[i] == 'b' && p == 1) r4 = 1 + max(func(i + 1, p), func(i + 1, p + 1));
  dp[i][p] = max(max(r1, r2), max(r3, r4));
  return dp[i][p] = max(dp[i][p], func(i, p + 1));
}
int main() {
  int i, j, k;
  cin >> str;
  l = str.length();
  memset(dp, -1, sizeof dp);
  cout << func(0, 0) << endl;
}
