import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
      	int len = str.length();
 		String leftStr = str.substring(0,(len-1)/2);
      	String rightStr = str.substring((len+1)/2,len);
      	boolean isStrongPalindrome = new StringBuffer(leftStr).reverse().toString().equals(leftStr)
          && new StringBuffer(rightStr).reverse().toString().equals(rightStr)
          && new StringBuffer(str).reverse().toString().equals(str);
          
		System.out.println(isStrongPalindrome?"Yes":"No");
	}
} import java.util.*; util.* java public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
      	int len = str.length();
 		String leftStr = str.substring(0,(len-1)/2);
      	String rightStr = str.substring((len+1)/2,len);
      	boolean isStrongPalindrome = new StringBuffer(leftStr).reverse().toString().equals(leftStr)
          && new StringBuffer(rightStr).reverse().toString().equals(rightStr)
          && new StringBuffer(str).reverse().toString().equals(str);
          
		System.out.println(isStrongPalindrome?"Yes":"No");
	}
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
      	int len = str.length();
 		String leftStr = str.substring(0,(len-1)/2);
      	String rightStr = str.substring((len+1)/2,len);
      	boolean isStrongPalindrome = new StringBuffer(leftStr).reverse().toString().equals(leftStr)
          && new StringBuffer(rightStr).reverse().toString().equals(rightStr)
          && new StringBuffer(str).reverse().toString().equals(str);
          
		System.out.println(isStrongPalindrome?"Yes":"No");
	} main {
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
      	int len = str.length();
 		String leftStr = str.substring(0,(len-1)/2);
      	String rightStr = str.substring((len+1)/2,len);
      	boolean isStrongPalindrome = new StringBuffer(leftStr).reverse().toString().equals(leftStr)
          && new StringBuffer(rightStr).reverse().toString().equals(rightStr)
          && new StringBuffer(str).reverse().toString().equals(str);
          
		System.out.println(isStrongPalindrome?"Yes":"No");
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String str = sc.next(); str sc.next() sc.next sc int len = str.length(); len str.length() str.length str String leftStr = str.substring(0,(len-1)/2); leftStr str.substring(0,(len-1)/2) str.substring str 0 (len-1)/2 (len-1) len 1 2 String rightStr = str.substring((len+1)/2,len); rightStr str.substring((len+1)/2,len) str.substring str (len+1)/2 (len+1) len 1 2 len boolean isStrongPalindrome = new StringBuffer(leftStr).reverse().toString().equals(leftStr)
          && new StringBuffer(rightStr).reverse().toString().equals(rightStr)
          && new StringBuffer(str).reverse().toString().equals(str); isStrongPalindrome new StringBuffer(leftStr).reverse().toString().equals(leftStr)
          && new StringBuffer(rightStr).reverse().toString().equals(rightStr)
          && new StringBuffer(str).reverse().toString().equals(str) new StringBuffer(leftStr).reverse().toString().equals(leftStr)
          && new StringBuffer(rightStr).reverse().toString().equals(rightStr)
          && new StringBuffer(str).reverse().toString().equals(str) new StringBuffer(leftStr).reverse().toString().equals(leftStr) new StringBuffer(leftStr).reverse().toString().equals new StringBuffer(leftStr).reverse().toString() new StringBuffer(leftStr).reverse().toString new StringBuffer(leftStr).reverse() new StringBuffer(leftStr).reverse new StringBuffer(leftStr) leftStr new StringBuffer(rightStr).reverse().toString().equals(rightStr) new StringBuffer(rightStr).reverse().toString().equals new StringBuffer(rightStr).reverse().toString() new StringBuffer(rightStr).reverse().toString new StringBuffer(rightStr).reverse() new StringBuffer(rightStr).reverse new StringBuffer(rightStr) rightStr new StringBuffer(str).reverse().toString().equals(str) new StringBuffer(str).reverse().toString().equals new StringBuffer(str).reverse().toString() new StringBuffer(str).reverse().toString new StringBuffer(str).reverse() new StringBuffer(str).reverse new StringBuffer(str) str System.out.println(isStrongPalindrome?"Yes":"No") System.out.println System.out System System.out isStrongPalindrome?"Yes":"No" isStrongPalindrome "Yes" "No" String[] args args public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
      	int len = str.length();
 		String leftStr = str.substring(0,(len-1)/2);
      	String rightStr = str.substring((len+1)/2,len);
      	boolean isStrongPalindrome = new StringBuffer(leftStr).reverse().toString().equals(leftStr)
          && new StringBuffer(rightStr).reverse().toString().equals(rightStr)
          && new StringBuffer(str).reverse().toString().equals(str);
          
		System.out.println(isStrongPalindrome?"Yes":"No");
	}
} public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
      	int len = str.length();
 		String leftStr = str.substring(0,(len-1)/2);
      	String rightStr = str.substring((len+1)/2,len);
      	boolean isStrongPalindrome = new StringBuffer(leftStr).reverse().toString().equals(leftStr)
          && new StringBuffer(rightStr).reverse().toString().equals(rightStr)
          && new StringBuffer(str).reverse().toString().equals(str);
          
		System.out.println(isStrongPalindrome?"Yes":"No");
	}
} Main
import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
      	int len = str.length();
 		String leftStr = str.substring(0,(len-1)/2);
      	String rightStr = str.substring((len+1)/2,len);
      	boolean isStrongPalindrome = new StringBuffer(leftStr).reverse().toString().equals(leftStr)
          && new StringBuffer(rightStr).reverse().toString().equals(rightStr)
          && new StringBuffer(str).reverse().toString().equals(str);
          
		System.out.println(isStrongPalindrome?"Yes":"No");
	}
}
