solve s =
    let n = length s
        m = (n-1) `div` 2
        k = (n+3) `div` 2 - 1
        u = take m s
        v = drop k s
    in if u == reverse u && v == reverse v then "Yes" else "No"

main = putStrLn . solve =<< getLine