import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        
        Scanner sc = new Scanner(System.in);
        String S = sc.next();
        int N = S.length();
        String A = S.substring(0, N/2);
        String B = S.substring(((N+3)/2)-1, N);
        if(A.equals(B)){
            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 sc = new Scanner(System.in);
        String S = sc.next();
        int N = S.length();
        String A = S.substring(0, N/2);
        String B = S.substring(((N+3)/2)-1, N);
        if(A.equals(B)){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        }
        
    }
} Main public static void main(String[] args) throws Exception {
        
        Scanner sc = new Scanner(System.in);
        String S = sc.next();
        int N = S.length();
        String A = S.substring(0, N/2);
        String B = S.substring(((N+3)/2)-1, N);
        if(A.equals(B)){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        }
        
    } main {
        
        Scanner sc = new Scanner(System.in);
        String S = sc.next();
        int N = S.length();
        String A = S.substring(0, N/2);
        String B = S.substring(((N+3)/2)-1, N);
        if(A.equals(B)){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        }
        
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String S = sc.next(); S sc.next() sc.next sc int N = S.length(); N S.length() S.length S String A = S.substring(0, N/2); A S.substring(0, N/2) S.substring S 0 N/2 N 2 String B = S.substring(((N+3)/2)-1, N); B S.substring(((N+3)/2)-1, N) S.substring S ((N+3)/2)-1 ((N+3)/2) (N+3) N 3 2 1 N if(A.equals(B)){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        } A.equals(B) A.equals A B {
            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 sc = new Scanner(System.in);
        String S = sc.next();
        int N = S.length();
        String A = S.substring(0, N/2);
        String B = S.substring(((N+3)/2)-1, N);
        if(A.equals(B)){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        }
        
    }
} public class Main {
    public static void main(String[] args) throws Exception {
        
        Scanner sc = new Scanner(System.in);
        String S = sc.next();
        int N = S.length();
        String A = S.substring(0, N/2);
        String B = S.substring(((N+3)/2)-1, N);
        if(A.equals(B)){
            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 sc = new Scanner(System.in);
        String S = sc.next();
        int N = S.length();
        String A = S.substring(0, N/2);
        String B = S.substring(((N+3)/2)-1, N);
        if(A.equals(B)){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        }
        
    }
}
