import java.util.Scanner;

public class Main{

	public static void main(String args[]){
		Scanner scan = new Scanner(System.in);
		String S = scan.next();
		int Slong = S.length();

        StringBuffer str = new StringBuffer(S);
        String R = str.reverse().toString();

		String result = "No";

        if(S.equals(R)) {
        	String S2 = S.substring(0,(Slong-1)/2);
        	StringBuffer str2 =  new StringBuffer(S2);
            String R2 = str2.reverse().toString();
        	if(S2.equals(R2)) {
            	String S3 = S.substring((Slong+3)/2-1,Slong);
            	StringBuffer str3 =  new StringBuffer(S3);
                String R3 = str3.reverse().toString();
        		if(S3.equals(R3)) {
        			result="Yes";
        		}
        	}
        }

		System.out.println(result);
	}
} import java.util.Scanner; Scanner java.util public class Main{

	public static void main(String args[]){
		Scanner scan = new Scanner(System.in);
		String S = scan.next();
		int Slong = S.length();

        StringBuffer str = new StringBuffer(S);
        String R = str.reverse().toString();

		String result = "No";

        if(S.equals(R)) {
        	String S2 = S.substring(0,(Slong-1)/2);
        	StringBuffer str2 =  new StringBuffer(S2);
            String R2 = str2.reverse().toString();
        	if(S2.equals(R2)) {
            	String S3 = S.substring((Slong+3)/2-1,Slong);
            	StringBuffer str3 =  new StringBuffer(S3);
                String R3 = str3.reverse().toString();
        		if(S3.equals(R3)) {
        			result="Yes";
        		}
        	}
        }

		System.out.println(result);
	}
} Main public static void main(String args[]){
		Scanner scan = new Scanner(System.in);
		String S = scan.next();
		int Slong = S.length();

        StringBuffer str = new StringBuffer(S);
        String R = str.reverse().toString();

		String result = "No";

        if(S.equals(R)) {
        	String S2 = S.substring(0,(Slong-1)/2);
        	StringBuffer str2 =  new StringBuffer(S2);
            String R2 = str2.reverse().toString();
        	if(S2.equals(R2)) {
            	String S3 = S.substring((Slong+3)/2-1,Slong);
            	StringBuffer str3 =  new StringBuffer(S3);
                String R3 = str3.reverse().toString();
        		if(S3.equals(R3)) {
        			result="Yes";
        		}
        	}
        }

		System.out.println(result);
	} main {
		Scanner scan = new Scanner(System.in);
		String S = scan.next();
		int Slong = S.length();

        StringBuffer str = new StringBuffer(S);
        String R = str.reverse().toString();

		String result = "No";

        if(S.equals(R)) {
        	String S2 = S.substring(0,(Slong-1)/2);
        	StringBuffer str2 =  new StringBuffer(S2);
            String R2 = str2.reverse().toString();
        	if(S2.equals(R2)) {
            	String S3 = S.substring((Slong+3)/2-1,Slong);
            	StringBuffer str3 =  new StringBuffer(S3);
                String R3 = str3.reverse().toString();
        		if(S3.equals(R3)) {
        			result="Yes";
        		}
        	}
        }

		System.out.println(result);
	} Scanner scan = new Scanner(System.in); scan new Scanner(System.in) String S = scan.next(); S scan.next() scan.next scan int Slong = S.length(); Slong S.length() S.length S StringBuffer str = new StringBuffer(S); str new StringBuffer(S) String R = str.reverse().toString(); R str.reverse().toString() str.reverse().toString str.reverse() str.reverse str String result = "No"; result "No" if(S.equals(R)) {
        	String S2 = S.substring(0,(Slong-1)/2);
        	StringBuffer str2 =  new StringBuffer(S2);
            String R2 = str2.reverse().toString();
        	if(S2.equals(R2)) {
            	String S3 = S.substring((Slong+3)/2-1,Slong);
            	StringBuffer str3 =  new StringBuffer(S3);
                String R3 = str3.reverse().toString();
        		if(S3.equals(R3)) {
        			result="Yes";
        		}
        	}
        } S.equals(R) S.equals S R {
        	String S2 = S.substring(0,(Slong-1)/2);
        	StringBuffer str2 =  new StringBuffer(S2);
            String R2 = str2.reverse().toString();
        	if(S2.equals(R2)) {
            	String S3 = S.substring((Slong+3)/2-1,Slong);
            	StringBuffer str3 =  new StringBuffer(S3);
                String R3 = str3.reverse().toString();
        		if(S3.equals(R3)) {
        			result="Yes";
        		}
        	}
        } String S2 = S.substring(0,(Slong-1)/2); S2 S.substring(0,(Slong-1)/2) S.substring S 0 (Slong-1)/2 (Slong-1) Slong 1 2 StringBuffer str2 =  new StringBuffer(S2); str2 new StringBuffer(S2) String R2 = str2.reverse().toString(); R2 str2.reverse().toString() str2.reverse().toString str2.reverse() str2.reverse str2 if(S2.equals(R2)) {
            	String S3 = S.substring((Slong+3)/2-1,Slong);
            	StringBuffer str3 =  new StringBuffer(S3);
                String R3 = str3.reverse().toString();
        		if(S3.equals(R3)) {
        			result="Yes";
        		}
        	} S2.equals(R2) S2.equals S2 R2 {
            	String S3 = S.substring((Slong+3)/2-1,Slong);
            	StringBuffer str3 =  new StringBuffer(S3);
                String R3 = str3.reverse().toString();
        		if(S3.equals(R3)) {
        			result="Yes";
        		}
        	} String S3 = S.substring((Slong+3)/2-1,Slong); S3 S.substring((Slong+3)/2-1,Slong) S.substring S (Slong+3)/2-1 (Slong+3)/2 (Slong+3) Slong 3 2 1 Slong StringBuffer str3 =  new StringBuffer(S3); str3 new StringBuffer(S3) String R3 = str3.reverse().toString(); R3 str3.reverse().toString() str3.reverse().toString str3.reverse() str3.reverse str3 if(S3.equals(R3)) {
        			result="Yes";
        		} S3.equals(R3) S3.equals S3 R3 {
        			result="Yes";
        		} result="Yes" result "Yes" System.out.println(result) System.out.println System.out System System.out result String args[] args public class Main{

	public static void main(String args[]){
		Scanner scan = new Scanner(System.in);
		String S = scan.next();
		int Slong = S.length();

        StringBuffer str = new StringBuffer(S);
        String R = str.reverse().toString();

		String result = "No";

        if(S.equals(R)) {
        	String S2 = S.substring(0,(Slong-1)/2);
        	StringBuffer str2 =  new StringBuffer(S2);
            String R2 = str2.reverse().toString();
        	if(S2.equals(R2)) {
            	String S3 = S.substring((Slong+3)/2-1,Slong);
            	StringBuffer str3 =  new StringBuffer(S3);
                String R3 = str3.reverse().toString();
        		if(S3.equals(R3)) {
        			result="Yes";
        		}
        	}
        }

		System.out.println(result);
	}
} public class Main{

	public static void main(String args[]){
		Scanner scan = new Scanner(System.in);
		String S = scan.next();
		int Slong = S.length();

        StringBuffer str = new StringBuffer(S);
        String R = str.reverse().toString();

		String result = "No";

        if(S.equals(R)) {
        	String S2 = S.substring(0,(Slong-1)/2);
        	StringBuffer str2 =  new StringBuffer(S2);
            String R2 = str2.reverse().toString();
        	if(S2.equals(R2)) {
            	String S3 = S.substring((Slong+3)/2-1,Slong);
            	StringBuffer str3 =  new StringBuffer(S3);
                String R3 = str3.reverse().toString();
        		if(S3.equals(R3)) {
        			result="Yes";
        		}
        	}
        }

		System.out.println(result);
	}
} Main
import java.util.Scanner;

public class Main{

	public static void main(String args[]){
		Scanner scan = new Scanner(System.in);
		String S = scan.next();
		int Slong = S.length();

        StringBuffer str = new StringBuffer(S);
        String R = str.reverse().toString();

		String result = "No";

        if(S.equals(R)) {
        	String S2 = S.substring(0,(Slong-1)/2);
        	StringBuffer str2 =  new StringBuffer(S2);
            String R2 = str2.reverse().toString();
        	if(S2.equals(R2)) {
            	String S3 = S.substring((Slong+3)/2-1,Slong);
            	StringBuffer str3 =  new StringBuffer(S3);
                String R3 = str3.reverse().toString();
        		if(S3.equals(R3)) {
        			result="Yes";
        		}
        	}
        }

		System.out.println(result);
	}
}