import Control.Applicative
import Data.Bool (bool)

main :: IO ()
main = solve <$> getLine >>= putStrLn

solve :: String -> String
solve s = bool "No" "Yes" $ isPalindrome s && isPalindrome (take l s)
  where
    l = flip div 2 . subtract 1 . length $ s
    
isPalindrome :: String -> Bool
isPalindrome = reverse >>= (==)
