import java.util.*;

public class Main {
	public static void main(String[] args) throws Exception{
		Scanner scn = new Scanner(System.in);
		String s = scn.next();
      	int check = 0;
      	String[] list = s.split("");
      	String[] list1 = new String[s.length()];
      	for(int i=0; i<s.length(); ++i){
          list1[s.length()-(1+i)] = list[i];
        }
      	int check1 = 0;
      	for(int i=0; i<s.length(); ++i){
          if(!(list[i].equals(list1[i]))){
            check1 = 1;
          }
        }
      	if(check1==0){
          check = check + 1;
        }
      	int num2 = (s.length()-1)/2;
      	String[] list2 = new String[num2];
      	for(int i=0; i<num2; ++i){
          list2[i] = list[i];
        }
      	String[] list2a = new String[num2];
      	for(int i=0; i<num2; ++i){
          list2a[num2-(1+i)] = list2[i];
        }
      	int check2 = 0;
      	for(int i=0; i<num2; ++i){
          if(!(list2[i].equals(list2a[i]))){
            check2 = 1;
          }
        }
      	if(check2==0){
          check = check + 1;
        }
      	int num3 = 1+s.length()-(s.length()+3)/2;
      	String[] list3 = new String[num3];
      	for(int i=0; i<num3; ++i){
          list3[i] = list[((s.length()+3)/2-1)+i];
        }
      	String[] list3a = new String[num3];
      	for(int i=0; i<num3; ++i){
          list3a[num3-(1+i)] = list3[i];
        }
      	int check3 = 0;
      	for(int i=0; i<num2; ++i){
          if(!(list3[i].equals(list3a[i]))){
            check3 = 1;
          }
        }
      	if(check3==0){
          check = check + 1;
        }
      	if(check==3){
          System.out.println("Yes");
        }else{
          System.out.println("No");
        }
	}
} import java.util.*; util.* java public class Main {
	public static void main(String[] args) throws Exception{
		Scanner scn = new Scanner(System.in);
		String s = scn.next();
      	int check = 0;
      	String[] list = s.split("");
      	String[] list1 = new String[s.length()];
      	for(int i=0; i<s.length(); ++i){
          list1[s.length()-(1+i)] = list[i];
        }
      	int check1 = 0;
      	for(int i=0; i<s.length(); ++i){
          if(!(list[i].equals(list1[i]))){
            check1 = 1;
          }
        }
      	if(check1==0){
          check = check + 1;
        }
      	int num2 = (s.length()-1)/2;
      	String[] list2 = new String[num2];
      	for(int i=0; i<num2; ++i){
          list2[i] = list[i];
        }
      	String[] list2a = new String[num2];
      	for(int i=0; i<num2; ++i){
          list2a[num2-(1+i)] = list2[i];
        }
      	int check2 = 0;
      	for(int i=0; i<num2; ++i){
          if(!(list2[i].equals(list2a[i]))){
            check2 = 1;
          }
        }
      	if(check2==0){
          check = check + 1;
        }
      	int num3 = 1+s.length()-(s.length()+3)/2;
      	String[] list3 = new String[num3];
      	for(int i=0; i<num3; ++i){
          list3[i] = list[((s.length()+3)/2-1)+i];
        }
      	String[] list3a = new String[num3];
      	for(int i=0; i<num3; ++i){
          list3a[num3-(1+i)] = list3[i];
        }
      	int check3 = 0;
      	for(int i=0; i<num2; ++i){
          if(!(list3[i].equals(list3a[i]))){
            check3 = 1;
          }
        }
      	if(check3==0){
          check = check + 1;
        }
      	if(check==3){
          System.out.println("Yes");
        }else{
          System.out.println("No");
        }
	}
} Main public static void main(String[] args) throws Exception{
		Scanner scn = new Scanner(System.in);
		String s = scn.next();
      	int check = 0;
      	String[] list = s.split("");
      	String[] list1 = new String[s.length()];
      	for(int i=0; i<s.length(); ++i){
          list1[s.length()-(1+i)] = list[i];
        }
      	int check1 = 0;
      	for(int i=0; i<s.length(); ++i){
          if(!(list[i].equals(list1[i]))){
            check1 = 1;
          }
        }
      	if(check1==0){
          check = check + 1;
        }
      	int num2 = (s.length()-1)/2;
      	String[] list2 = new String[num2];
      	for(int i=0; i<num2; ++i){
          list2[i] = list[i];
        }
      	String[] list2a = new String[num2];
      	for(int i=0; i<num2; ++i){
          list2a[num2-(1+i)] = list2[i];
        }
      	int check2 = 0;
      	for(int i=0; i<num2; ++i){
          if(!(list2[i].equals(list2a[i]))){
            check2 = 1;
          }
        }
      	if(check2==0){
          check = check + 1;
        }
      	int num3 = 1+s.length()-(s.length()+3)/2;
      	String[] list3 = new String[num3];
      	for(int i=0; i<num3; ++i){
          list3[i] = list[((s.length()+3)/2-1)+i];
        }
      	String[] list3a = new String[num3];
      	for(int i=0; i<num3; ++i){
          list3a[num3-(1+i)] = list3[i];
        }
      	int check3 = 0;
      	for(int i=0; i<num2; ++i){
          if(!(list3[i].equals(list3a[i]))){
            check3 = 1;
          }
        }
      	if(check3==0){
          check = check + 1;
        }
      	if(check==3){
          System.out.println("Yes");
        }else{
          System.out.println("No");
        }
	} main {
		Scanner scn = new Scanner(System.in);
		String s = scn.next();
      	int check = 0;
      	String[] list = s.split("");
      	String[] list1 = new String[s.length()];
      	for(int i=0; i<s.length(); ++i){
          list1[s.length()-(1+i)] = list[i];
        }
      	int check1 = 0;
      	for(int i=0; i<s.length(); ++i){
          if(!(list[i].equals(list1[i]))){
            check1 = 1;
          }
        }
      	if(check1==0){
          check = check + 1;
        }
      	int num2 = (s.length()-1)/2;
      	String[] list2 = new String[num2];
      	for(int i=0; i<num2; ++i){
          list2[i] = list[i];
        }
      	String[] list2a = new String[num2];
      	for(int i=0; i<num2; ++i){
          list2a[num2-(1+i)] = list2[i];
        }
      	int check2 = 0;
      	for(int i=0; i<num2; ++i){
          if(!(list2[i].equals(list2a[i]))){
            check2 = 1;
          }
        }
      	if(check2==0){
          check = check + 1;
        }
      	int num3 = 1+s.length()-(s.length()+3)/2;
      	String[] list3 = new String[num3];
      	for(int i=0; i<num3; ++i){
          list3[i] = list[((s.length()+3)/2-1)+i];
        }
      	String[] list3a = new String[num3];
      	for(int i=0; i<num3; ++i){
          list3a[num3-(1+i)] = list3[i];
        }
      	int check3 = 0;
      	for(int i=0; i<num2; ++i){
          if(!(list3[i].equals(list3a[i]))){
            check3 = 1;
          }
        }
      	if(check3==0){
          check = check + 1;
        }
      	if(check==3){
          System.out.println("Yes");
        }else{
          System.out.println("No");
        }
	} Scanner scn = new Scanner(System.in); scn new Scanner(System.in) String s = scn.next(); s scn.next() scn.next scn int check = 0; check 0 String[] list = s.split(""); list s.split("") s.split s "" String[] list1 = new String[s.length()]; list1 new String[s.length()] s.length() s.length s for(int i=0; i<s.length(); ++i){
          list1[s.length()-(1+i)] = list[i];
        } int i=0; int i=0; i 0 i<s.length() i s.length() s.length s ++i ++i i {
          list1[s.length()-(1+i)] = list[i];
        } {
          list1[s.length()-(1+i)] = list[i];
        } list1[s.length()-(1+i)] = list[i] list1[s.length()-(1+i)] list1 s.length()-(1+i) s.length() s.length s (1+i) 1 i list[i] list i int check1 = 0; check1 0 for(int i=0; i<s.length(); ++i){
          if(!(list[i].equals(list1[i]))){
            check1 = 1;
          }
        } int i=0; int i=0; i 0 i<s.length() i s.length() s.length s ++i ++i i {
          if(!(list[i].equals(list1[i]))){
            check1 = 1;
          }
        } {
          if(!(list[i].equals(list1[i]))){
            check1 = 1;
          }
        } if(!(list[i].equals(list1[i]))){
            check1 = 1;
          } !(list[i].equals(list1[i])) (list[i].equals(list1[i])) list[i].equals list[i] list i list1[i] list1 i {
            check1 = 1;
          } check1 = 1 check1 1 if(check1==0){
          check = check + 1;
        } check1==0 check1 0 {
          check = check + 1;
        } check = check + 1 check check + 1 check 1 int num2 = (s.length()-1)/2; num2 (s.length()-1)/2 (s.length()-1) s.length() s.length s 1 2 String[] list2 = new String[num2]; list2 new String[num2] num2 for(int i=0; i<num2; ++i){
          list2[i] = list[i];
        } int i=0; int i=0; i 0 i<num2 i num2 ++i ++i i {
          list2[i] = list[i];
        } {
          list2[i] = list[i];
        } list2[i] = list[i] list2[i] list2 i list[i] list i String[] list2a = new String[num2]; list2a new String[num2] num2 for(int i=0; i<num2; ++i){
          list2a[num2-(1+i)] = list2[i];
        } int i=0; int i=0; i 0 i<num2 i num2 ++i ++i i {
          list2a[num2-(1+i)] = list2[i];
        } {
          list2a[num2-(1+i)] = list2[i];
        } list2a[num2-(1+i)] = list2[i] list2a[num2-(1+i)] list2a num2-(1+i) num2 (1+i) 1 i list2[i] list2 i int check2 = 0; check2 0 for(int i=0; i<num2; ++i){
          if(!(list2[i].equals(list2a[i]))){
            check2 = 1;
          }
        } int i=0; int i=0; i 0 i<num2 i num2 ++i ++i i {
          if(!(list2[i].equals(list2a[i]))){
            check2 = 1;
          }
        } {
          if(!(list2[i].equals(list2a[i]))){
            check2 = 1;
          }
        } if(!(list2[i].equals(list2a[i]))){
            check2 = 1;
          } !(list2[i].equals(list2a[i])) (list2[i].equals(list2a[i])) list2[i].equals list2[i] list2 i list2a[i] list2a i {
            check2 = 1;
          } check2 = 1 check2 1 if(check2==0){
          check = check + 1;
        } check2==0 check2 0 {
          check = check + 1;
        } check = check + 1 check check + 1 check 1 int num3 = 1+s.length()-(s.length()+3)/2; num3 1+s.length()-(s.length()+3)/2 1+s.length() 1 s.length() s.length s (s.length()+3)/2 (s.length()+3) s.length() s.length s 3 2 String[] list3 = new String[num3]; list3 new String[num3] num3 for(int i=0; i<num3; ++i){
          list3[i] = list[((s.length()+3)/2-1)+i];
        } int i=0; int i=0; i 0 i<num3 i num3 ++i ++i i {
          list3[i] = list[((s.length()+3)/2-1)+i];
        } {
          list3[i] = list[((s.length()+3)/2-1)+i];
        } list3[i] = list[((s.length()+3)/2-1)+i] list3[i] list3 i list[((s.length()+3)/2-1)+i] list ((s.length()+3)/2-1)+i ((s.length()+3)/2-1) (s.length()+3)/2 (s.length()+3) s.length() s.length s 3 2 1 i String[] list3a = new String[num3]; list3a new String[num3] num3 for(int i=0; i<num3; ++i){
          list3a[num3-(1+i)] = list3[i];
        } int i=0; int i=0; i 0 i<num3 i num3 ++i ++i i {
          list3a[num3-(1+i)] = list3[i];
        } {
          list3a[num3-(1+i)] = list3[i];
        } list3a[num3-(1+i)] = list3[i] list3a[num3-(1+i)] list3a num3-(1+i) num3 (1+i) 1 i list3[i] list3 i int check3 = 0; check3 0 for(int i=0; i<num2; ++i){
          if(!(list3[i].equals(list3a[i]))){
            check3 = 1;
          }
        } int i=0; int i=0; i 0 i<num2 i num2 ++i ++i i {
          if(!(list3[i].equals(list3a[i]))){
            check3 = 1;
          }
        } {
          if(!(list3[i].equals(list3a[i]))){
            check3 = 1;
          }
        } if(!(list3[i].equals(list3a[i]))){
            check3 = 1;
          } !(list3[i].equals(list3a[i])) (list3[i].equals(list3a[i])) list3[i].equals list3[i] list3 i list3a[i] list3a i {
            check3 = 1;
          } check3 = 1 check3 1 if(check3==0){
          check = check + 1;
        } check3==0 check3 0 {
          check = check + 1;
        } check = check + 1 check check + 1 check 1 if(check==3){
          System.out.println("Yes");
        }else{
          System.out.println("No");
        } check==3 check 3 {
          System.out.println("Yes");
        } System.out.println("Yes") System.out.println System.out System System.out "Yes" {
          System.out.println("No");
        } System.out.println("No") System.out.println System.out System System.out "No" String[] args args public class Main {
	public static void main(String[] args) throws Exception{
		Scanner scn = new Scanner(System.in);
		String s = scn.next();
      	int check = 0;
      	String[] list = s.split("");
      	String[] list1 = new String[s.length()];
      	for(int i=0; i<s.length(); ++i){
          list1[s.length()-(1+i)] = list[i];
        }
      	int check1 = 0;
      	for(int i=0; i<s.length(); ++i){
          if(!(list[i].equals(list1[i]))){
            check1 = 1;
          }
        }
      	if(check1==0){
          check = check + 1;
        }
      	int num2 = (s.length()-1)/2;
      	String[] list2 = new String[num2];
      	for(int i=0; i<num2; ++i){
          list2[i] = list[i];
        }
      	String[] list2a = new String[num2];
      	for(int i=0; i<num2; ++i){
          list2a[num2-(1+i)] = list2[i];
        }
      	int check2 = 0;
      	for(int i=0; i<num2; ++i){
          if(!(list2[i].equals(list2a[i]))){
            check2 = 1;
          }
        }
      	if(check2==0){
          check = check + 1;
        }
      	int num3 = 1+s.length()-(s.length()+3)/2;
      	String[] list3 = new String[num3];
      	for(int i=0; i<num3; ++i){
          list3[i] = list[((s.length()+3)/2-1)+i];
        }
      	String[] list3a = new String[num3];
      	for(int i=0; i<num3; ++i){
          list3a[num3-(1+i)] = list3[i];
        }
      	int check3 = 0;
      	for(int i=0; i<num2; ++i){
          if(!(list3[i].equals(list3a[i]))){
            check3 = 1;
          }
        }
      	if(check3==0){
          check = check + 1;
        }
      	if(check==3){
          System.out.println("Yes");
        }else{
          System.out.println("No");
        }
	}
} public class Main {
	public static void main(String[] args) throws Exception{
		Scanner scn = new Scanner(System.in);
		String s = scn.next();
      	int check = 0;
      	String[] list = s.split("");
      	String[] list1 = new String[s.length()];
      	for(int i=0; i<s.length(); ++i){
          list1[s.length()-(1+i)] = list[i];
        }
      	int check1 = 0;
      	for(int i=0; i<s.length(); ++i){
          if(!(list[i].equals(list1[i]))){
            check1 = 1;
          }
        }
      	if(check1==0){
          check = check + 1;
        }
      	int num2 = (s.length()-1)/2;
      	String[] list2 = new String[num2];
      	for(int i=0; i<num2; ++i){
          list2[i] = list[i];
        }
      	String[] list2a = new String[num2];
      	for(int i=0; i<num2; ++i){
          list2a[num2-(1+i)] = list2[i];
        }
      	int check2 = 0;
      	for(int i=0; i<num2; ++i){
          if(!(list2[i].equals(list2a[i]))){
            check2 = 1;
          }
        }
      	if(check2==0){
          check = check + 1;
        }
      	int num3 = 1+s.length()-(s.length()+3)/2;
      	String[] list3 = new String[num3];
      	for(int i=0; i<num3; ++i){
          list3[i] = list[((s.length()+3)/2-1)+i];
        }
      	String[] list3a = new String[num3];
      	for(int i=0; i<num3; ++i){
          list3a[num3-(1+i)] = list3[i];
        }
      	int check3 = 0;
      	for(int i=0; i<num2; ++i){
          if(!(list3[i].equals(list3a[i]))){
            check3 = 1;
          }
        }
      	if(check3==0){
          check = check + 1;
        }
      	if(check==3){
          System.out.println("Yes");
        }else{
          System.out.println("No");
        }
	}
} Main
import java.util.*;

public class Main {
	public static void main(String[] args) throws Exception{
		Scanner scn = new Scanner(System.in);
		String s = scn.next();
      	int check = 0;
      	String[] list = s.split("");
      	String[] list1 = new String[s.length()];
      	for(int i=0; i<s.length(); ++i){
          list1[s.length()-(1+i)] = list[i];
        }
      	int check1 = 0;
      	for(int i=0; i<s.length(); ++i){
          if(!(list[i].equals(list1[i]))){
            check1 = 1;
          }
        }
      	if(check1==0){
          check = check + 1;
        }
      	int num2 = (s.length()-1)/2;
      	String[] list2 = new String[num2];
      	for(int i=0; i<num2; ++i){
          list2[i] = list[i];
        }
      	String[] list2a = new String[num2];
      	for(int i=0; i<num2; ++i){
          list2a[num2-(1+i)] = list2[i];
        }
      	int check2 = 0;
      	for(int i=0; i<num2; ++i){
          if(!(list2[i].equals(list2a[i]))){
            check2 = 1;
          }
        }
      	if(check2==0){
          check = check + 1;
        }
      	int num3 = 1+s.length()-(s.length()+3)/2;
      	String[] list3 = new String[num3];
      	for(int i=0; i<num3; ++i){
          list3[i] = list[((s.length()+3)/2-1)+i];
        }
      	String[] list3a = new String[num3];
      	for(int i=0; i<num3; ++i){
          list3a[num3-(1+i)] = list3[i];
        }
      	int check3 = 0;
      	for(int i=0; i<num2; ++i){
          if(!(list3[i].equals(list3a[i]))){
            check3 = 1;
          }
        }
      	if(check3==0){
          check = check + 1;
        }
      	if(check==3){
          System.out.println("Yes");
        }else{
          System.out.println("No");
        }
	}
}
