fun main(args: Array<String>) = println(run {
    val s = readLine()!!
    val n = s.length
    if (s.isPalindrome() &&
            s.take((n-1)/2).isPalindrome() &&
            s.takeLast((n-1)/2).isPalindrome()
    ) "Yes" else "No"
})

fun String.isPalindrome() = this == this.reversed()