import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s=in.nextLine();//.toString();
        int len = s.length();
        for(int i=0,j=len/2-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        for(int i=len/2+1,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        for(int i=0,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");

    }
} import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s=in.nextLine();//.toString();
        int len = s.length();
        for(int i=0,j=len/2-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        for(int i=len/2+1,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        for(int i=0,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");

    }
} Main public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s=in.nextLine();//.toString();
        int len = s.length();
        for(int i=0,j=len/2-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        for(int i=len/2+1,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        for(int i=0,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");

    } main {
        Scanner in = new Scanner(System.in);
        String s=in.nextLine();//.toString();
        int len = s.length();
        for(int i=0,j=len/2-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        for(int i=len/2+1,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        for(int i=0,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");

    } Scanner in = new Scanner(System.in); in new Scanner(System.in) String s=in.nextLine(); s in.nextLine() in.nextLine in int len = s.length(); len s.length() s.length s for(int i=0,j=len/2-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        } int i=0,j=len/2-1; int i=0 i 0 j=len/2-1; j len/2-1 len/2 len 2 1 i<j i j i++,j-- i++ i j-- j {
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        } {
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        } if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            } s.charAt(i)!=s.charAt(j) s.charAt(i) s.charAt s i s.charAt(j) s.charAt s j {
                System.out.println("No");
                return;
            } System.out.println("No") System.out.println System.out System System.out "No" return; for(int i=len/2+1,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        } int i=len/2+1,j=len-1; int i=len/2+1 i len/2+1 len/2 len 2 1 j=len-1; j len-1 len 1 i<j i j i++,j-- i++ i j-- j {
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        } {
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        } if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            } s.charAt(i)!=s.charAt(j) s.charAt(i) s.charAt s i s.charAt(j) s.charAt s j {
                System.out.println("No");
                return;
            } System.out.println("No") System.out.println System.out System System.out "No" return; for(int i=0,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        } int i=0,j=len-1; int i=0 i 0 j=len-1; j len-1 len 1 i<j i j i++,j-- i++ i j-- j {
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        } {
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        } if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            } s.charAt(i)!=s.charAt(j) s.charAt(i) s.charAt s i s.charAt(j) s.charAt s j {
                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 in = new Scanner(System.in);
        String s=in.nextLine();//.toString();
        int len = s.length();
        for(int i=0,j=len/2-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        for(int i=len/2+1,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        for(int i=0,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");

    }
} public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s=in.nextLine();//.toString();
        int len = s.length();
        for(int i=0,j=len/2-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        for(int i=len/2+1,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        for(int i=0,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");

    }
} Main
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s=in.nextLine();//.toString();
        int len = s.length();
        for(int i=0,j=len/2-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        for(int i=len/2+1,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        for(int i=0,j=len-1;i<j;i++,j--){
            if(s.charAt(i)!=s.charAt(j)){
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");

    }
}
