#include <bits/stdc++.h>
using namespace std;
const int maxn = 5005;
char s[maxn];
int n;
int dp[maxn][4];
int get(int pos, int part) {
  if (pos == n + 1) return 0;
  if (dp[pos][part] != -1) return dp[pos][part];
  int &ret = dp[pos][part];
  ret = 0;
  if (part == 1) {
    if (s[pos] == 'a') {
      return ret = 1 + get(pos + 1, 1);
    } else {
      ret = 1 + get(pos + 1, 2);
      ret = max(ret, get(pos + 1, 1));
    }
    return ret;
  } else if (part == 2) {
    if (s[pos] == 'b') {
      return ret = 1 + get(pos + 1, 2);
    } else {
      ret = 1 + get(pos + 1, 3);
      ret = max(ret, get(pos + 1, 2));
    }
    return ret;
  } else {
    if (s[pos] == 'a') {
      return ret = 1 + get(pos + 1, 3);
    } else {
      ret = get(pos + 1, 3);
    }
    return ret;
  }
}
int32_t main() {
  scanf("%s", s + 1);
  n = strlen(s + 1);
  memset(dp, -1, sizeof dp);
  cout << get(1, 1) << endl;
  return 0;
}
