import java.util.Scanner;

/**
 * @author yoshizaki
 *
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner= new Scanner(System.in);
        String s = scanner.next();
        StringBuilder sb = new StringBuilder();
        String ans = "Yes";
        int len = s.length();
        sb.append(s);
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        sb = new StringBuilder();
        sb.append(s.substring(0, ((len - 1) / 2)));
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        sb = new StringBuilder();
        sb.append(s.substring(((len + 3) / 2)-1, len));
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        System.out.println(ans);
    }
} import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) {
        Scanner scanner= new Scanner(System.in);
        String s = scanner.next();
        StringBuilder sb = new StringBuilder();
        String ans = "Yes";
        int len = s.length();
        sb.append(s);
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        sb = new StringBuilder();
        sb.append(s.substring(0, ((len - 1) / 2)));
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        sb = new StringBuilder();
        sb.append(s.substring(((len + 3) / 2)-1, len));
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        System.out.println(ans);
    }
} Main public static void main(String[] args) {
        Scanner scanner= new Scanner(System.in);
        String s = scanner.next();
        StringBuilder sb = new StringBuilder();
        String ans = "Yes";
        int len = s.length();
        sb.append(s);
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        sb = new StringBuilder();
        sb.append(s.substring(0, ((len - 1) / 2)));
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        sb = new StringBuilder();
        sb.append(s.substring(((len + 3) / 2)-1, len));
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        System.out.println(ans);
    } main {
        Scanner scanner= new Scanner(System.in);
        String s = scanner.next();
        StringBuilder sb = new StringBuilder();
        String ans = "Yes";
        int len = s.length();
        sb.append(s);
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        sb = new StringBuilder();
        sb.append(s.substring(0, ((len - 1) / 2)));
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        sb = new StringBuilder();
        sb.append(s.substring(((len + 3) / 2)-1, len));
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        System.out.println(ans);
    } Scanner scanner= new Scanner(System.in); scanner new Scanner(System.in) String s = scanner.next(); s scanner.next() scanner.next scanner StringBuilder sb = new StringBuilder(); sb new StringBuilder() String ans = "Yes"; ans "Yes" int len = s.length(); len s.length() s.length s sb.append(s) sb.append sb s if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No"; !(sb.toString().equals(sb.reverse().toString())) (sb.toString().equals(sb.reverse().toString())) sb.toString().equals sb.toString() sb.toString sb sb.reverse().toString() sb.reverse().toString sb.reverse() sb.reverse sb ans = "No" ans "No" sb = new StringBuilder() sb new StringBuilder() sb.append(s.substring(0, ((len - 1) / 2))) sb.append sb s.substring(0, ((len - 1) / 2)) s.substring s 0 ((len - 1) / 2) (len - 1) len 1 2 if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No"; !(sb.toString().equals(sb.reverse().toString())) (sb.toString().equals(sb.reverse().toString())) sb.toString().equals sb.toString() sb.toString sb sb.reverse().toString() sb.reverse().toString sb.reverse() sb.reverse sb ans = "No" ans "No" sb = new StringBuilder() sb new StringBuilder() sb.append(s.substring(((len + 3) / 2)-1, len)) sb.append sb s.substring(((len + 3) / 2)-1, len) s.substring s ((len + 3) / 2)-1 ((len + 3) / 2) (len + 3) len 3 2 1 len if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No"; !(sb.toString().equals(sb.reverse().toString())) (sb.toString().equals(sb.reverse().toString())) sb.toString().equals sb.toString() sb.toString sb sb.reverse().toString() sb.reverse().toString sb.reverse() sb.reverse sb 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 scanner= new Scanner(System.in);
        String s = scanner.next();
        StringBuilder sb = new StringBuilder();
        String ans = "Yes";
        int len = s.length();
        sb.append(s);
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        sb = new StringBuilder();
        sb.append(s.substring(0, ((len - 1) / 2)));
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        sb = new StringBuilder();
        sb.append(s.substring(((len + 3) / 2)-1, len));
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        System.out.println(ans);
    }
} public class Main {
    public static void main(String[] args) {
        Scanner scanner= new Scanner(System.in);
        String s = scanner.next();
        StringBuilder sb = new StringBuilder();
        String ans = "Yes";
        int len = s.length();
        sb.append(s);
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        sb = new StringBuilder();
        sb.append(s.substring(0, ((len - 1) / 2)));
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        sb = new StringBuilder();
        sb.append(s.substring(((len + 3) / 2)-1, len));
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        System.out.println(ans);
    }
} Main
import java.util.Scanner;

/**
 * @author yoshizaki
 *
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner= new Scanner(System.in);
        String s = scanner.next();
        StringBuilder sb = new StringBuilder();
        String ans = "Yes";
        int len = s.length();
        sb.append(s);
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        sb = new StringBuilder();
        sb.append(s.substring(0, ((len - 1) / 2)));
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        sb = new StringBuilder();
        sb.append(s.substring(((len + 3) / 2)-1, len));
        if(!(sb.toString().equals(sb.reverse().toString()))) ans = "No";
        
        System.out.println(ans);
    }
}