{-# LANGUAGE OverloadedStrings #-} import Data.ByteString.Char8 (ByteString) import qualified Data.ByteString.Char8 as B main :: IO () main = do s <- B.getLine let k = if odd $ B.length s then "NO" :: ByteString else f s B.putStrLn k f :: ByteString -> ByteString f bs = if a == b then ("YES" :: ByteString) else ("NO" :: ByteString) where (a, b) = B.splitAt (B.length bs `div` 2) bs