fun main(args: Array<String>) {
    val S = readString()

    println(
        if (
            S.isRev()
            && S.substring(0 until S.length/2).isRev()
            && S.substring((S.length+1)/2 until S.length).isRev()
        )
            "Yes"
    else "No"
    )
}
fun String.isRev() = this == reversed()

fun readString() = readLine()!!