function Main(input) {
  "use strict"
  const str = input.split("\n").shift()
  const len = str.length
  function judgePalindrome(str){
    const n = str.length
    let preStr, postStr
    if(n % 2 === 1){
      preStr = str.slice(0, (n - 1) / 2)
      postStr = str.slice((n + 1) / 2)
    }else{
      preStr = str.slice(0, n / 2)
      postStr = str.slice(n / 2)
    }

    return (preStr === postStr.split("").reverse().join("")) ? preStr : false
  }
  
  const preStr = judgePalindrome(str)
  if(!preStr) console.log("No")
  else{
    if(judgePalindrome(preStr)) console.log("Yes")
    else console.log("No")
  }
}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
