import std.stdio,std.string,std.array,std.algorithm,std.range,std.conv;
import std.algorithm:rev=reverse;

int main(){
    auto s=readln.chomp;
    auto n=s.length;
    if(s==s.dup.rev){
        auto s1=s.dup[0..(n-1)/2];
        if(s1==s1.dup.rev){
            auto s2=s.dup[(n+3)/2-1..$];
            if(s2==s2.dup.rev){
                "Yes".writeln;
                return 0;
            }
        }
    }   
    "No".writeln;
    return 0;
}