import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    String s = sc.next();
    int slen = s.length();
    int zennhann = (slen - 1) / 2;
    int kouhann = (slen + 3) / 2 - 1;
    String mae = s.substring(0,zennhann);
    int mlen = mae.length();
    String usiro = s.substring(kouhann,slen);
    int ulen = usiro.length();
    String aa = "";
    String bb = "";
    for(int i = 0;i < mlen;i++){
      aa = mae.substring(i,i+1);
      bb = mae.substring(mlen - i - 1 ,mlen - i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    for(int i = 0;i < ulen;i++){
      aa = usiro.substring(i,i+1);
      bb = usiro.substring(ulen -i -1,ulen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    for(int i = 0;i < slen;i++){
      aa = s.substring(i,i+1);
      bb = s.substring(slen -i -1,slen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    System.out.println("Yes");
  }
} import java.util.*; util.* java public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    String s = sc.next();
    int slen = s.length();
    int zennhann = (slen - 1) / 2;
    int kouhann = (slen + 3) / 2 - 1;
    String mae = s.substring(0,zennhann);
    int mlen = mae.length();
    String usiro = s.substring(kouhann,slen);
    int ulen = usiro.length();
    String aa = "";
    String bb = "";
    for(int i = 0;i < mlen;i++){
      aa = mae.substring(i,i+1);
      bb = mae.substring(mlen - i - 1 ,mlen - i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    for(int i = 0;i < ulen;i++){
      aa = usiro.substring(i,i+1);
      bb = usiro.substring(ulen -i -1,ulen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    for(int i = 0;i < slen;i++){
      aa = s.substring(i,i+1);
      bb = s.substring(slen -i -1,slen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    System.out.println("Yes");
  }
} Main public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    String s = sc.next();
    int slen = s.length();
    int zennhann = (slen - 1) / 2;
    int kouhann = (slen + 3) / 2 - 1;
    String mae = s.substring(0,zennhann);
    int mlen = mae.length();
    String usiro = s.substring(kouhann,slen);
    int ulen = usiro.length();
    String aa = "";
    String bb = "";
    for(int i = 0;i < mlen;i++){
      aa = mae.substring(i,i+1);
      bb = mae.substring(mlen - i - 1 ,mlen - i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    for(int i = 0;i < ulen;i++){
      aa = usiro.substring(i,i+1);
      bb = usiro.substring(ulen -i -1,ulen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    for(int i = 0;i < slen;i++){
      aa = s.substring(i,i+1);
      bb = s.substring(slen -i -1,slen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    System.out.println("Yes");
  } main {
    Scanner sc = new Scanner(System.in);
    String s = sc.next();
    int slen = s.length();
    int zennhann = (slen - 1) / 2;
    int kouhann = (slen + 3) / 2 - 1;
    String mae = s.substring(0,zennhann);
    int mlen = mae.length();
    String usiro = s.substring(kouhann,slen);
    int ulen = usiro.length();
    String aa = "";
    String bb = "";
    for(int i = 0;i < mlen;i++){
      aa = mae.substring(i,i+1);
      bb = mae.substring(mlen - i - 1 ,mlen - i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    for(int i = 0;i < ulen;i++){
      aa = usiro.substring(i,i+1);
      bb = usiro.substring(ulen -i -1,ulen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    for(int i = 0;i < slen;i++){
      aa = s.substring(i,i+1);
      bb = s.substring(slen -i -1,slen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    System.out.println("Yes");
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String s = sc.next(); s sc.next() sc.next sc int slen = s.length(); slen s.length() s.length s int zennhann = (slen - 1) / 2; zennhann (slen - 1) / 2 (slen - 1) slen 1 2 int kouhann = (slen + 3) / 2 - 1; kouhann (slen + 3) / 2 - 1 (slen + 3) / 2 (slen + 3) slen 3 2 1 String mae = s.substring(0,zennhann); mae s.substring(0,zennhann) s.substring s 0 zennhann int mlen = mae.length(); mlen mae.length() mae.length mae String usiro = s.substring(kouhann,slen); usiro s.substring(kouhann,slen) s.substring s kouhann slen int ulen = usiro.length(); ulen usiro.length() usiro.length usiro String aa = ""; aa "" String bb = ""; bb "" for(int i = 0;i < mlen;i++){
      aa = mae.substring(i,i+1);
      bb = mae.substring(mlen - i - 1 ,mlen - i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    } int i = 0; int i = 0; i 0 i < mlen i mlen i++ i++ i {
      aa = mae.substring(i,i+1);
      bb = mae.substring(mlen - i - 1 ,mlen - i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    } {
      aa = mae.substring(i,i+1);
      bb = mae.substring(mlen - i - 1 ,mlen - i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    } aa = mae.substring(i,i+1) aa mae.substring(i,i+1) mae.substring mae i i+1 i 1 bb = mae.substring(mlen - i - 1 ,mlen - i) bb mae.substring(mlen - i - 1 ,mlen - i) mae.substring mae mlen - i - 1 mlen - i - 1 mlen i 1 mlen - i mlen i if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      } !(aa.equals(bb)) (aa.equals(bb)) aa.equals aa bb {
        System.out.println("No");
        return;
      } System.out.println("No") System.out.println System.out System System.out "No" return; for(int i = 0;i < ulen;i++){
      aa = usiro.substring(i,i+1);
      bb = usiro.substring(ulen -i -1,ulen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    } int i = 0; int i = 0; i 0 i < ulen i ulen i++ i++ i {
      aa = usiro.substring(i,i+1);
      bb = usiro.substring(ulen -i -1,ulen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    } {
      aa = usiro.substring(i,i+1);
      bb = usiro.substring(ulen -i -1,ulen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    } aa = usiro.substring(i,i+1) aa usiro.substring(i,i+1) usiro.substring usiro i i+1 i 1 bb = usiro.substring(ulen -i -1,ulen -i) bb usiro.substring(ulen -i -1,ulen -i) usiro.substring usiro ulen -i -1 ulen -i -1 ulen i 1 ulen -i ulen i if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      } !(aa.equals(bb)) (aa.equals(bb)) aa.equals aa bb {
        System.out.println("No");
        return;
      } System.out.println("No") System.out.println System.out System System.out "No" return; for(int i = 0;i < slen;i++){
      aa = s.substring(i,i+1);
      bb = s.substring(slen -i -1,slen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    } int i = 0; int i = 0; i 0 i < slen i slen i++ i++ i {
      aa = s.substring(i,i+1);
      bb = s.substring(slen -i -1,slen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    } {
      aa = s.substring(i,i+1);
      bb = s.substring(slen -i -1,slen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    } aa = s.substring(i,i+1) aa s.substring(i,i+1) s.substring s i i+1 i 1 bb = s.substring(slen -i -1,slen -i) bb s.substring(slen -i -1,slen -i) s.substring s slen -i -1 slen -i -1 slen i 1 slen -i slen i if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      } !(aa.equals(bb)) (aa.equals(bb)) aa.equals aa bb {
        System.out.println("No");
        return;
      } System.out.println("No") System.out.println System.out System System.out "No" return; System.out.println("Yes") System.out.println System.out System System.out "Yes" String[] args args public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    String s = sc.next();
    int slen = s.length();
    int zennhann = (slen - 1) / 2;
    int kouhann = (slen + 3) / 2 - 1;
    String mae = s.substring(0,zennhann);
    int mlen = mae.length();
    String usiro = s.substring(kouhann,slen);
    int ulen = usiro.length();
    String aa = "";
    String bb = "";
    for(int i = 0;i < mlen;i++){
      aa = mae.substring(i,i+1);
      bb = mae.substring(mlen - i - 1 ,mlen - i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    for(int i = 0;i < ulen;i++){
      aa = usiro.substring(i,i+1);
      bb = usiro.substring(ulen -i -1,ulen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    for(int i = 0;i < slen;i++){
      aa = s.substring(i,i+1);
      bb = s.substring(slen -i -1,slen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    System.out.println("Yes");
  }
} public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    String s = sc.next();
    int slen = s.length();
    int zennhann = (slen - 1) / 2;
    int kouhann = (slen + 3) / 2 - 1;
    String mae = s.substring(0,zennhann);
    int mlen = mae.length();
    String usiro = s.substring(kouhann,slen);
    int ulen = usiro.length();
    String aa = "";
    String bb = "";
    for(int i = 0;i < mlen;i++){
      aa = mae.substring(i,i+1);
      bb = mae.substring(mlen - i - 1 ,mlen - i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    for(int i = 0;i < ulen;i++){
      aa = usiro.substring(i,i+1);
      bb = usiro.substring(ulen -i -1,ulen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    for(int i = 0;i < slen;i++){
      aa = s.substring(i,i+1);
      bb = s.substring(slen -i -1,slen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    System.out.println("Yes");
  }
} Main
import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    String s = sc.next();
    int slen = s.length();
    int zennhann = (slen - 1) / 2;
    int kouhann = (slen + 3) / 2 - 1;
    String mae = s.substring(0,zennhann);
    int mlen = mae.length();
    String usiro = s.substring(kouhann,slen);
    int ulen = usiro.length();
    String aa = "";
    String bb = "";
    for(int i = 0;i < mlen;i++){
      aa = mae.substring(i,i+1);
      bb = mae.substring(mlen - i - 1 ,mlen - i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    for(int i = 0;i < ulen;i++){
      aa = usiro.substring(i,i+1);
      bb = usiro.substring(ulen -i -1,ulen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    for(int i = 0;i < slen;i++){
      aa = s.substring(i,i+1);
      bb = s.substring(slen -i -1,slen -i);
      if(!(aa.equals(bb))){
        System.out.println("No");
        return;
      }
    }
    System.out.println("Yes");
  }
}
