#include <bits/stdc++.h>
using namespace std;
int main() {
  string s;
  cin >> s;
  int n = s.length();
  int fir = s[0], sec = s[0], pos_right = 0, pos_left = n - 1;
  int counter = 0;
  bool flag = true;
  int last_right = -1, last_left = n, cur = 1;
  while (flag) {
    if (cur == 1) {
      last_right = pos_right;
      while (pos_right < pos_left && pos_right + 1 < n) {
        if (s[pos_right] != s[pos_right + 1]) {
          ++pos_right;
          sec = s[pos_right];
          ++counter;
        } else
          break;
      }
      ++counter;
      if (pos_left < n && s[pos_left] == fir) break;
      if (last_right == pos_right && last_right != 0) break;
      ++pos_right;
      swap(sec, fir);
      cur = 2;
    } else {
      last_left = pos_left;
      while (pos_left > pos_right && pos_left >= 0) {
        if (s[pos_left] != s[pos_left - 1]) {
          --pos_left;
          ++counter;
          sec = s[pos_left];
        } else
          break;
      }
      ++counter;
      if (pos_right >= 0 && s[pos_right] == fir) break;
      if (last_left == pos_left) break;
      --pos_left;
      cur = 1;
    }
    if (pos_right > pos_left) break;
  }
  int counter1 = 1;
  for (int i = 1; i < n; ++i) {
    if (s[i] != s[i - 1]) {
      ++counter1;
    } else {
      counter = max(counter1, counter);
      counter1 = 1;
    }
  }
  counter = max(counter1, counter);
  cout << counter;
}
