package main

import (
	"fmt"
)

func main() {
	str := ""
	fmt.Scan(&str)

    ans := 1
	// 中心扩散写法
    for i := 0; i < len(str); i++ {
        ans = max(ans, huiwen(str, i))
    }

    fmt.Println(ans)
}

// 返回由center中心扩散出去的最大回文串长度
func huiwen(s string, center int) int {
    ans := 1
    i, j := center, center
	for i, j = center, center; i >= 0 && j < len(s) && s[i] == s[j]; i, j = i-1, j+1 {}
    ans = max(ans, j-i-1)
	for i, j = center, center+1; i >= 0 && j < len(s )&& s[i] == s[j]; i, j = i-1, j+1 {}
    ans = max(ans, j-i-1)
	return ans
}

func max(a, b int) int {
    if a > b {
        return a
    }
    return b
}