import java.util.*;

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

        String s = sc.next();
        StringBuffer sb = new StringBuffer(s);
        String r = sb.reverse().toString();

        if(s.equals(r)){
            s = s.substring(0, (s.length() - 1) / 2);
            sb = new StringBuffer(s);
            r = sb.reverse().toString();
            if(s.equals(r)){
                System.out.println("Yes");
                return;
            }
        }

        System.out.println("No");

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

        String s = sc.next();
        StringBuffer sb = new StringBuffer(s);
        String r = sb.reverse().toString();

        if(s.equals(r)){
            s = s.substring(0, (s.length() - 1) / 2);
            sb = new StringBuffer(s);
            r = sb.reverse().toString();
            if(s.equals(r)){
                System.out.println("Yes");
                return;
            }
        }

        System.out.println("No");

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

        String s = sc.next();
        StringBuffer sb = new StringBuffer(s);
        String r = sb.reverse().toString();

        if(s.equals(r)){
            s = s.substring(0, (s.length() - 1) / 2);
            sb = new StringBuffer(s);
            r = sb.reverse().toString();
            if(s.equals(r)){
                System.out.println("Yes");
                return;
            }
        }

        System.out.println("No");

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

        String s = sc.next();
        StringBuffer sb = new StringBuffer(s);
        String r = sb.reverse().toString();

        if(s.equals(r)){
            s = s.substring(0, (s.length() - 1) / 2);
            sb = new StringBuffer(s);
            r = sb.reverse().toString();
            if(s.equals(r)){
                System.out.println("Yes");
                return;
            }
        }

        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 StringBuffer sb = new StringBuffer(s); sb new StringBuffer(s) String r = sb.reverse().toString(); r sb.reverse().toString() sb.reverse().toString sb.reverse() sb.reverse sb if(s.equals(r)){
            s = s.substring(0, (s.length() - 1) / 2);
            sb = new StringBuffer(s);
            r = sb.reverse().toString();
            if(s.equals(r)){
                System.out.println("Yes");
                return;
            }
        } s.equals(r) s.equals s r {
            s = s.substring(0, (s.length() - 1) / 2);
            sb = new StringBuffer(s);
            r = sb.reverse().toString();
            if(s.equals(r)){
                System.out.println("Yes");
                return;
            }
        } s = s.substring(0, (s.length() - 1) / 2) s s.substring(0, (s.length() - 1) / 2) s.substring s 0 (s.length() - 1) / 2 (s.length() - 1) s.length() s.length s 1 2 sb = new StringBuffer(s) sb new StringBuffer(s) r = sb.reverse().toString() r sb.reverse().toString() sb.reverse().toString sb.reverse() sb.reverse sb if(s.equals(r)){
                System.out.println("Yes");
                return;
            } s.equals(r) s.equals s r {
                System.out.println("Yes");
                return;
            } System.out.println("Yes") System.out.println System.out System System.out "Yes" return; 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){
        Scanner sc = new Scanner(System.in);

        String s = sc.next();
        StringBuffer sb = new StringBuffer(s);
        String r = sb.reverse().toString();

        if(s.equals(r)){
            s = s.substring(0, (s.length() - 1) / 2);
            sb = new StringBuffer(s);
            r = sb.reverse().toString();
            if(s.equals(r)){
                System.out.println("Yes");
                return;
            }
        }

        System.out.println("No");

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

        String s = sc.next();
        StringBuffer sb = new StringBuffer(s);
        String r = sb.reverse().toString();

        if(s.equals(r)){
            s = s.substring(0, (s.length() - 1) / 2);
            sb = new StringBuffer(s);
            r = sb.reverse().toString();
            if(s.equals(r)){
                System.out.println("Yes");
                return;
            }
        }

        System.out.println("No");

    }
} Main
import java.util.*;

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

        String s = sc.next();
        StringBuffer sb = new StringBuffer(s);
        String r = sb.reverse().toString();

        if(s.equals(r)){
            s = s.substring(0, (s.length() - 1) / 2);
            sb = new StringBuffer(s);
            r = sb.reverse().toString();
            if(s.equals(r)){
                System.out.println("Yes");
                return;
            }
        }

        System.out.println("No");

    }
}
