function Main(input) {
    input = input.split("\n");
    for (i=0; i < input.length; i++) {
        tmp = input[i].split("")
        var s = []
        for (j=0; j < tmp.length; j++) {
            s.push(tmp[j])
        }
        var r = s.slice().reverse()
        var sJ = JSON.stringify(s)
        var rJ = JSON.stringify(r)
        var N = s.length
        var t = 'Yes'
        if (sJ !== rJ) {
            t = 'No'
        }
        var k = s.splice((N+3)/2-1)
        var kr = k.slice().reverse()
        var kJ = JSON.stringify(k)
        var krJ = JSON.stringify(kr)
        if (kJ !== krJ) {
            t = 'No'
        }
        var z = s.splice(0, (N-1)/2)
        var zr = z.slice().reverse()
        var zJ = JSON.stringify(z)
        var zrJ = JSON.stringify(zr)
        if (zJ !== zrJ) {
            t = 'No'
        }
        console.log(t)
    }
}

Main(require("fs").readFileSync("/dev/stdin", "utf8"));
