import java.util.*

fun main(args: Array<String>) {
  val sc = Scanner(System.`in`)
  val s = sc.next()

  println(abc159b(s))
}

private fun abc159b(s: String): String {
  val n = s.length
  var ok = true
  if (s.reversed() != s) {
    ok = false
  }
  val subA = s.substring(0, (n - 1) / 2)
  if (subA.reversed() != subA) {
    ok = false
  }
  val subB = s.substring((n + 1) / 2, n)
  if (subB.reversed() != subB) {
    ok = false
  }

  if (ok) {
    return "Yes"
  }
  return "No"
}