#include <bits/stdc++.h>
using namespace std;
inline int in() {
  int x;
  scanf("%d", &x);
  return x;
}
bool Check(int N, int pos) { return (bool)(N & (1 << pos)); }
int Set(int N, int pos) { return N = N | (1 << pos); }
int fx[] = {+0, +0, +1, -1, -1, +1, -1, +1};
int fy[] = {-1, +1, +0, +0, +1, +1, -1, -1};
int hr[] = {-2, -2, -1, +1, +2, +2, -1, +1};
int hc[] = {+1, -1, +2, +2, -1, +1, -2, -2};
int dx[] = {+1, -1, +0, +0};
int dy[] = {+0, +0, +1, -1};
const int MAXN = (int)1e5 + 9;
int main() {
  int i, j, k, l, m, n, p, q, x, y, u, v, r, tc, t;
  char s[5009];
  cin >> s;
  l = strlen(s);
  int prefa[l + 9], prefb[l + 9];
  prefa[0] = prefb[0] = 0;
  for (i = 1; i <= l; i++) {
    if (s[i - 1] == 'a')
      prefa[i] = prefa[i - 1] + 1, prefb[i] = prefb[i - 1];
    else
      prefb[i] = prefb[i - 1] + 1, prefa[i] = prefa[i - 1];
  }
  prefa[l + 1] = prefa[l], prefb[l + 1] = prefb[l];
  int ans = 0;
  for (i = 0; i <= l + 1; i++) {
    for (j = i + 1; j <= l + 1; j++) {
      ans = max(ans, prefa[i] + prefa[l] - prefa[j] + prefb[j] - prefb[i]);
    }
  }
  cout << ans << endl;
  return 0;
}
