import java.util.*;

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

        String s,t,ans;
        boolean eq,eq2;        
        Integer n;

        ans="";
        s=sc.next();
        n=s.length();
        StringBuffer str = new StringBuffer(s);
        t=str.reverse().toString();

        eq=s.equals(t);
        t=s.substring((n+1)/2, n);
        s=s.substring(0,(n-1)/2);
        eq2=s.equals(t);
        
        if(eq && eq2){
            ans="Yes";
        }else{
            ans="No";
        }

        System.out.println(ans);

    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);

        String s,t,ans;
        boolean eq,eq2;        
        Integer n;

        ans="";
        s=sc.next();
        n=s.length();
        StringBuffer str = new StringBuffer(s);
        t=str.reverse().toString();

        eq=s.equals(t);
        t=s.substring((n+1)/2, n);
        s=s.substring(0,(n-1)/2);
        eq2=s.equals(t);
        
        if(eq && eq2){
            ans="Yes";
        }else{
            ans="No";
        }

        System.out.println(ans);

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

        String s,t,ans;
        boolean eq,eq2;        
        Integer n;

        ans="";
        s=sc.next();
        n=s.length();
        StringBuffer str = new StringBuffer(s);
        t=str.reverse().toString();

        eq=s.equals(t);
        t=s.substring((n+1)/2, n);
        s=s.substring(0,(n-1)/2);
        eq2=s.equals(t);
        
        if(eq && eq2){
            ans="Yes";
        }else{
            ans="No";
        }

        System.out.println(ans);

    } main {
        Scanner sc=new Scanner(System.in);

        String s,t,ans;
        boolean eq,eq2;        
        Integer n;

        ans="";
        s=sc.next();
        n=s.length();
        StringBuffer str = new StringBuffer(s);
        t=str.reverse().toString();

        eq=s.equals(t);
        t=s.substring((n+1)/2, n);
        s=s.substring(0,(n-1)/2);
        eq2=s.equals(t);
        
        if(eq && eq2){
            ans="Yes";
        }else{
            ans="No";
        }

        System.out.println(ans);

    } Scanner sc=new Scanner(System.in); sc new Scanner(System.in) String s s t t ans; ans boolean eq eq eq2; eq2 Integer n; n ans="" ans "" s=sc.next() s sc.next() sc.next sc n=s.length() n s.length() s.length s StringBuffer str = new StringBuffer(s); str new StringBuffer(s) t=str.reverse().toString() t str.reverse().toString() str.reverse().toString str.reverse() str.reverse str eq=s.equals(t) eq s.equals(t) s.equals s t t=s.substring((n+1)/2, n) t s.substring((n+1)/2, n) s.substring s (n+1)/2 (n+1) n 1 2 n s=s.substring(0,(n-1)/2) s s.substring(0,(n-1)/2) s.substring s 0 (n-1)/2 (n-1) n 1 2 eq2=s.equals(t) eq2 s.equals(t) s.equals s t if(eq && eq2){
            ans="Yes";
        }else{
            ans="No";
        } eq && eq2 eq eq2 {
            ans="Yes";
        } ans="Yes" ans "Yes" {
            ans="No";
        } ans="No" ans "No" System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);

        String s,t,ans;
        boolean eq,eq2;        
        Integer n;

        ans="";
        s=sc.next();
        n=s.length();
        StringBuffer str = new StringBuffer(s);
        t=str.reverse().toString();

        eq=s.equals(t);
        t=s.substring((n+1)/2, n);
        s=s.substring(0,(n-1)/2);
        eq2=s.equals(t);
        
        if(eq && eq2){
            ans="Yes";
        }else{
            ans="No";
        }

        System.out.println(ans);

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

        String s,t,ans;
        boolean eq,eq2;        
        Integer n;

        ans="";
        s=sc.next();
        n=s.length();
        StringBuffer str = new StringBuffer(s);
        t=str.reverse().toString();

        eq=s.equals(t);
        t=s.substring((n+1)/2, n);
        s=s.substring(0,(n-1)/2);
        eq2=s.equals(t);
        
        if(eq && eq2){
            ans="Yes";
        }else{
            ans="No";
        }

        System.out.println(ans);

    }
} Main
import java.util.*;

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

        String s,t,ans;
        boolean eq,eq2;        
        Integer n;

        ans="";
        s=sc.next();
        n=s.length();
        StringBuffer str = new StringBuffer(s);
        t=str.reverse().toString();

        eq=s.equals(t);
        t=s.substring((n+1)/2, n);
        s=s.substring(0,(n-1)/2);
        eq2=s.equals(t);
        
        if(eq && eq2){
            ans="Yes";
        }else{
            ans="No";
        }

        System.out.println(ans);

    }
}