import Control.Applicative import Data.List main :: IO () main = do n <- getLine print $ solve n solve :: String -> Int solve s = maximum . map length . filter check . filter (/=s) $ mul s mul :: String -> [String] mul s = filter (not . null) . nub $ concatMap inits (tails s) check :: String -> Bool check s = s == reverse s