#include <bits/stdc++.h>
using namespace std;
const int MaxN = 5000;
int aCount[MaxN];
int bCount[MaxN];
int main() {
  string s;
  cin >> s;
  int n = (int)s.length();
  for (int i = 0; i < n; ++i) {
    aCount[i] = s[i] == 'a';
    bCount[i] = s[i] == 'b';
    if (i > 0) {
      aCount[i] += aCount[i - 1];
      bCount[i] += bCount[i - 1];
    }
  }
  int maxAns = 0;
  for (int cntFirst = 0; cntFirst <= n; ++cntFirst)
    for (int cntLast = 0; cntFirst + cntLast <= n; ++cntLast) {
      int toRemove = 0;
      if (cntFirst > 0) toRemove += bCount[cntFirst - 1];
      if (cntLast > 0) {
        toRemove += bCount[n - 1];
        if (cntLast < n) toRemove -= bCount[n - cntLast - 1];
      }
      if (cntFirst + cntLast < n) {
        toRemove += aCount[n - cntLast - 1];
        if (cntFirst > 0) toRemove -= aCount[cntFirst - 1];
      }
      maxAns = max(maxAns, n - toRemove);
    }
  cout << maxAns;
}
