import java.util.Scanner;

/**
 * String Palindrome
 * 
 * https://atcoder.jp/contests/abc159/tasks/abc159_b
 */
public class Main {

    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) throws Exception {
        String S = sc.next();
        int N = S.length();

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

            if (S.charAt(i - 1) != S.charAt((N - 1) / 2 - i)) {
                System.out.println("No");
                return;
            }
        }

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

} import java.util.Scanner; Scanner java.util public class Main {

    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) throws Exception {
        String S = sc.next();
        int N = S.length();

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

            if (S.charAt(i - 1) != S.charAt((N - 1) / 2 - i)) {
                System.out.println("No");
                return;
            }
        }

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

} Main static Scanner sc = new Scanner(System.in); sc new Scanner(System.in) public static void main(String[] args) throws Exception {
        String S = sc.next();
        int N = S.length();

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

            if (S.charAt(i - 1) != S.charAt((N - 1) / 2 - i)) {
                System.out.println("No");
                return;
            }
        }

        System.out.println("Yes");
    } main {
        String S = sc.next();
        int N = S.length();

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

            if (S.charAt(i - 1) != S.charAt((N - 1) / 2 - i)) {
                System.out.println("No");
                return;
            }
        }

        System.out.println("Yes");
    } String S = sc.next(); S sc.next() sc.next sc int N = S.length(); N S.length() S.length S for (int i = 1; i <= (N - 1) / 2; i++) {
            if (S.charAt(i - 1) != S.charAt(N - i)) {
                System.out.println("No");
                return;
            }

            if (S.charAt(i - 1) != S.charAt((N - 1) / 2 - i)) {
                System.out.println("No");
                return;
            }
        } int i = 1; int i = 1; i 1 i <= (N - 1) / 2 i (N - 1) / 2 (N - 1) N 1 2 i++ i++ i {
            if (S.charAt(i - 1) != S.charAt(N - i)) {
                System.out.println("No");
                return;
            }

            if (S.charAt(i - 1) != S.charAt((N - 1) / 2 - i)) {
                System.out.println("No");
                return;
            }
        } {
            if (S.charAt(i - 1) != S.charAt(N - i)) {
                System.out.println("No");
                return;
            }

            if (S.charAt(i - 1) != S.charAt((N - 1) / 2 - i)) {
                System.out.println("No");
                return;
            }
        } if (S.charAt(i - 1) != S.charAt(N - i)) {
                System.out.println("No");
                return;
            } S.charAt(i - 1) != S.charAt(N - i) S.charAt(i - 1) S.charAt S i - 1 i 1 S.charAt(N - i) S.charAt S N - i N i {
                System.out.println("No");
                return;
            } System.out.println("No") System.out.println System.out System System.out "No" return; if (S.charAt(i - 1) != S.charAt((N - 1) / 2 - i)) {
                System.out.println("No");
                return;
            } S.charAt(i - 1) != S.charAt((N - 1) / 2 - i) S.charAt(i - 1) S.charAt S i - 1 i 1 S.charAt((N - 1) / 2 - i) S.charAt S (N - 1) / 2 - i (N - 1) / 2 (N - 1) N 1 2 i {
                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 {

    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) throws Exception {
        String S = sc.next();
        int N = S.length();

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

            if (S.charAt(i - 1) != S.charAt((N - 1) / 2 - i)) {
                System.out.println("No");
                return;
            }
        }

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

} public class Main {

    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) throws Exception {
        String S = sc.next();
        int N = S.length();

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

            if (S.charAt(i - 1) != S.charAt((N - 1) / 2 - i)) {
                System.out.println("No");
                return;
            }
        }

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

} Main
import java.util.Scanner;

/**
 * String Palindrome
 * 
 * https://atcoder.jp/contests/abc159/tasks/abc159_b
 */
public class Main {

    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) throws Exception {
        String S = sc.next();
        int N = S.length();

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

            if (S.charAt(i - 1) != S.charAt((N - 1) / 2 - i)) {
                System.out.println("No");
                return;
            }
        }

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

}
