fun readStr () = let fun scan reader stream = SOME (StringCvt.splitl (not o Char.isSpace) reader (StringCvt.skipWS reader stream)) in valOf (TextIO.scanStream scan TextIO.stdIn) end val () = let val s = readStr () val ans = if (String.size s) mod 2 <> 0 then "NO" else if String.substring (s, 0, (String.size s) div 2 - 1) ^ String.substring (s, 0, (String.size s) div 2 - 1) = s then "YES" else "NO" in print (ans ^ "\n") end