import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);

        String s = stdIn.next();
        char[] cs = s.toCharArray();
        int n = cs.length;

        for(int i=0; i<n/2; i++){
            if(cs[i] != cs[n-i-1]){
                System.out.println("No");
                return;
            }
        }

        for(int i=0; i<(n-1)/4; i++){
            if(cs[i] != cs[(n-1)/2-i-1]){
                System.out.println("No");
                return;
            }
        }

        for(int i=0; i<(n-1)/4; i++){
            if(cs[n-i-1] != cs[n-(n-1)/2+i]){
                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 stdIn = new Scanner(System.in);

        String s = stdIn.next();
        char[] cs = s.toCharArray();
        int n = cs.length;

        for(int i=0; i<n/2; i++){
            if(cs[i] != cs[n-i-1]){
                System.out.println("No");
                return;
            }
        }

        for(int i=0; i<(n-1)/4; i++){
            if(cs[i] != cs[(n-1)/2-i-1]){
                System.out.println("No");
                return;
            }
        }

        for(int i=0; i<(n-1)/4; i++){
            if(cs[n-i-1] != cs[n-(n-1)/2+i]){
                System.out.println("No");
                return;
            }
        }

        System.out.println("Yes");
    }
} Main public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);

        String s = stdIn.next();
        char[] cs = s.toCharArray();
        int n = cs.length;

        for(int i=0; i<n/2; i++){
            if(cs[i] != cs[n-i-1]){
                System.out.println("No");
                return;
            }
        }

        for(int i=0; i<(n-1)/4; i++){
            if(cs[i] != cs[(n-1)/2-i-1]){
                System.out.println("No");
                return;
            }
        }

        for(int i=0; i<(n-1)/4; i++){
            if(cs[n-i-1] != cs[n-(n-1)/2+i]){
                System.out.println("No");
                return;
            }
        }

        System.out.println("Yes");
    } main {
        Scanner stdIn = new Scanner(System.in);

        String s = stdIn.next();
        char[] cs = s.toCharArray();
        int n = cs.length;

        for(int i=0; i<n/2; i++){
            if(cs[i] != cs[n-i-1]){
                System.out.println("No");
                return;
            }
        }

        for(int i=0; i<(n-1)/4; i++){
            if(cs[i] != cs[(n-1)/2-i-1]){
                System.out.println("No");
                return;
            }
        }

        for(int i=0; i<(n-1)/4; i++){
            if(cs[n-i-1] != cs[n-(n-1)/2+i]){
                System.out.println("No");
                return;
            }
        }

        System.out.println("Yes");
    } Scanner stdIn = new Scanner(System.in); stdIn new Scanner(System.in) String s = stdIn.next(); s stdIn.next() stdIn.next stdIn char[] cs = s.toCharArray(); cs s.toCharArray() s.toCharArray s int n = cs.length; n cs.length cs cs.length for(int i=0; i<n/2; i++){
            if(cs[i] != cs[n-i-1]){
                System.out.println("No");
                return;
            }
        } int i=0; int i=0; i 0 i<n/2 i n/2 n 2 i++ i++ i {
            if(cs[i] != cs[n-i-1]){
                System.out.println("No");
                return;
            }
        } {
            if(cs[i] != cs[n-i-1]){
                System.out.println("No");
                return;
            }
        } if(cs[i] != cs[n-i-1]){
                System.out.println("No");
                return;
            } cs[i] != cs[n-i-1] cs[i] cs i cs[n-i-1] cs n-i-1 n-i-1 n i 1 {
                System.out.println("No");
                return;
            } System.out.println("No") System.out.println System.out System System.out "No" return; for(int i=0; i<(n-1)/4; i++){
            if(cs[i] != cs[(n-1)/2-i-1]){
                System.out.println("No");
                return;
            }
        } int i=0; int i=0; i 0 i<(n-1)/4 i (n-1)/4 (n-1) n 1 4 i++ i++ i {
            if(cs[i] != cs[(n-1)/2-i-1]){
                System.out.println("No");
                return;
            }
        } {
            if(cs[i] != cs[(n-1)/2-i-1]){
                System.out.println("No");
                return;
            }
        } if(cs[i] != cs[(n-1)/2-i-1]){
                System.out.println("No");
                return;
            } cs[i] != cs[(n-1)/2-i-1] cs[i] cs i cs[(n-1)/2-i-1] cs (n-1)/2-i-1 (n-1)/2-i-1 (n-1)/2 (n-1) n 1 2 i 1 {
                System.out.println("No");
                return;
            } System.out.println("No") System.out.println System.out System System.out "No" return; for(int i=0; i<(n-1)/4; i++){
            if(cs[n-i-1] != cs[n-(n-1)/2+i]){
                System.out.println("No");
                return;
            }
        } int i=0; int i=0; i 0 i<(n-1)/4 i (n-1)/4 (n-1) n 1 4 i++ i++ i {
            if(cs[n-i-1] != cs[n-(n-1)/2+i]){
                System.out.println("No");
                return;
            }
        } {
            if(cs[n-i-1] != cs[n-(n-1)/2+i]){
                System.out.println("No");
                return;
            }
        } if(cs[n-i-1] != cs[n-(n-1)/2+i]){
                System.out.println("No");
                return;
            } cs[n-i-1] != cs[n-(n-1)/2+i] cs[n-i-1] cs n-i-1 n-i-1 n i 1 cs[n-(n-1)/2+i] cs n-(n-1)/2+i n-(n-1)/2 n (n-1)/2 (n-1) n 1 2 i {
                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 stdIn = new Scanner(System.in);

        String s = stdIn.next();
        char[] cs = s.toCharArray();
        int n = cs.length;

        for(int i=0; i<n/2; i++){
            if(cs[i] != cs[n-i-1]){
                System.out.println("No");
                return;
            }
        }

        for(int i=0; i<(n-1)/4; i++){
            if(cs[i] != cs[(n-1)/2-i-1]){
                System.out.println("No");
                return;
            }
        }

        for(int i=0; i<(n-1)/4; i++){
            if(cs[n-i-1] != cs[n-(n-1)/2+i]){
                System.out.println("No");
                return;
            }
        }

        System.out.println("Yes");
    }
} public class Main{
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);

        String s = stdIn.next();
        char[] cs = s.toCharArray();
        int n = cs.length;

        for(int i=0; i<n/2; i++){
            if(cs[i] != cs[n-i-1]){
                System.out.println("No");
                return;
            }
        }

        for(int i=0; i<(n-1)/4; i++){
            if(cs[i] != cs[(n-1)/2-i-1]){
                System.out.println("No");
                return;
            }
        }

        for(int i=0; i<(n-1)/4; i++){
            if(cs[n-i-1] != cs[n-(n-1)/2+i]){
                System.out.println("No");
                return;
            }
        }

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

public class Main{
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);

        String s = stdIn.next();
        char[] cs = s.toCharArray();
        int n = cs.length;

        for(int i=0; i<n/2; i++){
            if(cs[i] != cs[n-i-1]){
                System.out.println("No");
                return;
            }
        }

        for(int i=0; i<(n-1)/4; i++){
            if(cs[i] != cs[(n-1)/2-i-1]){
                System.out.println("No");
                return;
            }
        }

        for(int i=0; i<(n-1)/4; i++){
            if(cs[n-i-1] != cs[n-(n-1)/2+i]){
                System.out.println("No");
                return;
            }
        }

        System.out.println("Yes");
    }
}