import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        int len = str.length();
        if (len % 2 == 0) {
            System.out.println("No");
            return;
        }

        for (int i = 0; i < len/2; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        }
        for (int i = 0; i < (len - 1)/2; i ++){
            if (str.charAt(i) != str.charAt(len/2 - i - 1)){
                System.out.println("No");
                return;
            }
        }
        for (int i = (len+3)/2 - 1; i < len; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        }

        System.out.println("Yes");
    }

} import java.util.*; util.* java public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        int len = str.length();
        if (len % 2 == 0) {
            System.out.println("No");
            return;
        }

        for (int i = 0; i < len/2; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        }
        for (int i = 0; i < (len - 1)/2; i ++){
            if (str.charAt(i) != str.charAt(len/2 - i - 1)){
                System.out.println("No");
                return;
            }
        }
        for (int i = (len+3)/2 - 1; i < len; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        }

        System.out.println("Yes");
    }

} Main public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        int len = str.length();
        if (len % 2 == 0) {
            System.out.println("No");
            return;
        }

        for (int i = 0; i < len/2; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        }
        for (int i = 0; i < (len - 1)/2; i ++){
            if (str.charAt(i) != str.charAt(len/2 - i - 1)){
                System.out.println("No");
                return;
            }
        }
        for (int i = (len+3)/2 - 1; i < len; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        }

        System.out.println("Yes");
    } main {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        int len = str.length();
        if (len % 2 == 0) {
            System.out.println("No");
            return;
        }

        for (int i = 0; i < len/2; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        }
        for (int i = 0; i < (len - 1)/2; i ++){
            if (str.charAt(i) != str.charAt(len/2 - i - 1)){
                System.out.println("No");
                return;
            }
        }
        for (int i = (len+3)/2 - 1; i < len; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        }

        System.out.println("Yes");
    } Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) String str = scanner.next(); str scanner.next() scanner.next scanner int len = str.length(); len str.length() str.length str if (len % 2 == 0) {
            System.out.println("No");
            return;
        } len % 2 == 0 len % 2 len 2 0 {
            System.out.println("No");
            return;
        } System.out.println("No") System.out.println System.out System System.out "No" return; for (int i = 0; i < len/2; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        } int i = 0; int i = 0; i 0 i < len/2 i len/2 len 2 i ++ i ++ i {
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        } {
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        } if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            } str.charAt(i) != str.charAt(len - i - 1) str.charAt(i) str.charAt str i str.charAt(len - i - 1) str.charAt str len - i - 1 len - i - 1 len i 1 {
                System.out.println("No");
                return;
            } System.out.println("No") System.out.println System.out System System.out "No" return; for (int i = 0; i < (len - 1)/2; i ++){
            if (str.charAt(i) != str.charAt(len/2 - i - 1)){
                System.out.println("No");
                return;
            }
        } int i = 0; int i = 0; i 0 i < (len - 1)/2 i (len - 1)/2 (len - 1) len 1 2 i ++ i ++ i {
            if (str.charAt(i) != str.charAt(len/2 - i - 1)){
                System.out.println("No");
                return;
            }
        } {
            if (str.charAt(i) != str.charAt(len/2 - i - 1)){
                System.out.println("No");
                return;
            }
        } if (str.charAt(i) != str.charAt(len/2 - i - 1)){
                System.out.println("No");
                return;
            } str.charAt(i) != str.charAt(len/2 - i - 1) str.charAt(i) str.charAt str i str.charAt(len/2 - i - 1) str.charAt str len/2 - i - 1 len/2 - i - 1 len/2 len 2 i 1 {
                System.out.println("No");
                return;
            } System.out.println("No") System.out.println System.out System System.out "No" return; for (int i = (len+3)/2 - 1; i < len; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        } int i = (len+3)/2 - 1; int i = (len+3)/2 - 1; i (len+3)/2 - 1 (len+3)/2 (len+3) len 3 2 1 i < len i len i ++ i ++ i {
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        } {
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        } if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            } str.charAt(i) != str.charAt(len - i - 1) str.charAt(i) str.charAt str i str.charAt(len - i - 1) str.charAt str len - i - 1 len - i - 1 len i 1 {
                System.out.println("No");
                return;
            } System.out.println("No") System.out.println System.out System System.out "No" return; System.out.println("Yes") System.out.println System.out System System.out "Yes" String[] args args public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        int len = str.length();
        if (len % 2 == 0) {
            System.out.println("No");
            return;
        }

        for (int i = 0; i < len/2; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        }
        for (int i = 0; i < (len - 1)/2; i ++){
            if (str.charAt(i) != str.charAt(len/2 - i - 1)){
                System.out.println("No");
                return;
            }
        }
        for (int i = (len+3)/2 - 1; i < len; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        }

        System.out.println("Yes");
    }

} public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        int len = str.length();
        if (len % 2 == 0) {
            System.out.println("No");
            return;
        }

        for (int i = 0; i < len/2; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        }
        for (int i = 0; i < (len - 1)/2; i ++){
            if (str.charAt(i) != str.charAt(len/2 - i - 1)){
                System.out.println("No");
                return;
            }
        }
        for (int i = (len+3)/2 - 1; i < len; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        }

        System.out.println("Yes");
    }

} Main
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        int len = str.length();
        if (len % 2 == 0) {
            System.out.println("No");
            return;
        }

        for (int i = 0; i < len/2; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        }
        for (int i = 0; i < (len - 1)/2; i ++){
            if (str.charAt(i) != str.charAt(len/2 - i - 1)){
                System.out.println("No");
                return;
            }
        }
        for (int i = (len+3)/2 - 1; i < len; i ++){
            if (str.charAt(i) != str.charAt(len - i - 1)){
                System.out.println("No");
                return;
            }
        }

        System.out.println("Yes");
    }

}
