(defn palindrome [s]
  (= s (clojure.string/join (reverse s))))
(let [s (read-line)
      a (subs s 0 (/ (.length s) 2))
      b (subs s (/ (+ (.length s) 1) 2))]
  (if (not (palindrome s))
    (println "No")
    (if (not (palindrome a))
      (println "No")
      (if (not (palindrome b))
        (println "No")
        (println "Yes")))))
