strong :: String -> Bool
strong s = s == reverse s
           && firstS == reverse firstS
           && secondS == reverse secondS
                where
                    firstS = take half1 s
                    secondS = take half1 $ reverse s
                    half1 = ((length s) - 1) `div` 2

main = do
    s <- getLine
    if strong s then putStrLn "Yes"
                else putStrLn "No"