#include <bits/stdc++.h>
using namespace std;

int lengthOfLongestSubstringTwoDistinct(std :: string s){
    int n = s.length();
    if(n < 3){
        return n;
    }
    int left = 0;
    int right = 0;
    std::unordered_map<char, int> hashmap;
    int max_len = 2;
    for(right = 0; right < s.length(); right ++){
        hashmap[s[right]] ++; //此时hashmap的value值为元素的个数
        while(hashmap.size() > 2){
            hashmap[s[left]] --;
            if(!hashmap[s[left]]){
                hashmap.erase(s[left]);
            }
            left ++;
        }
        max_len = max(max_len, right - left + 1);
    }
    
    return max_len;
}

int main() {
    int t;
    string s;
    cin >> s;
    
    t = lengthOfLongestSubstringTwoDistinct(s);
    printf("%d\n",t);
    system("pause");
    return 0;
}