import std.stdio, std.conv, std.string, std.algorithm, std.math, std.array;

bool p(string s) {
  for(int i=0; i<s.length/2; i++) {
    if(s[i] != s[$-1-i]) return false;
  }
  return true;
}

bool q(string s) {
  return p(s) && p(s[0..$/2]);
}

void main() {
  string s = readln[0..$-1];
  if(q(s)) writeln("Yes");
  else writeln("No");
}

