import java.io.FileNotFoundException;
import java.util.Scanner;

public class Main {
    @SuppressWarnings("deprecation")
	public static void main(String[] args) throws FileNotFoundException {

//    	File file = new File("src/in.txt");

        //コード
//    	Scanner sc = new Scanner(file);
    	Scanner sc = new Scanner(System.in);

    	String S = sc.next();

    	boolean result1 = isPalindrome(S);
    	boolean result2 = isPalindrome(S.substring(0, (S.length()-1)/2));
    	if(result1&&result2) {
    		System.out.println("Yes");
    	} else {
    		System.out.println("No");
    	}
    }

    public static boolean isPalindrome(String s) {

    	boolean result = true;

    	if(s.length()%2==0) {
    		char[] arr = s.toCharArray();
    		for(int i=0;i<s.length()/2;i++) {
    			if(arr[i]!=arr[s.length()-1-i]) {
    				result = false;
    			}
    		}
    	} else {
    		char[] arr = s.toCharArray();
    		for(int i=0;i<(s.length()-1)/2;i++) {
    			if(arr[i]!=arr[s.length()-1-i]) {
    				result = false;
    			}
    		}
    	}

    	return result;
    }

}

/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz