import java.util.*;

class Main {

    static public boolean solve(String s) {
        int mid = s.length()/2;
        String lh = s.substring(0, mid);
        String rh = s.substring(mid+1);
        if (! lh.equals(rh)) return false;
        int i = 0, j = lh.length()-1;
        while (i < j) {
            if (lh.charAt(i) != lh.charAt(j)) {
                return false;
            }
            i++; j--;
        }
        return true;
    }

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

        String s = sc.next();

        sc.close();

        System.out.println(solve(s) ? "Yes" : "No");

    }
} import java.util.*; util.* java class Main {

    static public boolean solve(String s) {
        int mid = s.length()/2;
        String lh = s.substring(0, mid);
        String rh = s.substring(mid+1);
        if (! lh.equals(rh)) return false;
        int i = 0, j = lh.length()-1;
        while (i < j) {
            if (lh.charAt(i) != lh.charAt(j)) {
                return false;
            }
            i++; j--;
        }
        return true;
    }

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

        String s = sc.next();

        sc.close();

        System.out.println(solve(s) ? "Yes" : "No");

    }
} Main static public boolean solve(String s) {
        int mid = s.length()/2;
        String lh = s.substring(0, mid);
        String rh = s.substring(mid+1);
        if (! lh.equals(rh)) return false;
        int i = 0, j = lh.length()-1;
        while (i < j) {
            if (lh.charAt(i) != lh.charAt(j)) {
                return false;
            }
            i++; j--;
        }
        return true;
    } solve {
        int mid = s.length()/2;
        String lh = s.substring(0, mid);
        String rh = s.substring(mid+1);
        if (! lh.equals(rh)) return false;
        int i = 0, j = lh.length()-1;
        while (i < j) {
            if (lh.charAt(i) != lh.charAt(j)) {
                return false;
            }
            i++; j--;
        }
        return true;
    } int mid = s.length()/2; mid s.length()/2 s.length() s.length s 2 String lh = s.substring(0, mid); lh s.substring(0, mid) s.substring s 0 mid String rh = s.substring(mid+1); rh s.substring(mid+1) s.substring s mid+1 mid 1 if (! lh.equals(rh)) return false; ! lh.equals(rh) lh.equals(rh) lh.equals lh rh return false; false int i = 0 i 0 j = lh.length()-1; j lh.length()-1 lh.length() lh.length lh 1 while (i < j) {
            if (lh.charAt(i) != lh.charAt(j)) {
                return false;
            }
            i++; j--;
        } i < j i j {
            if (lh.charAt(i) != lh.charAt(j)) {
                return false;
            }
            i++; j--;
        } if (lh.charAt(i) != lh.charAt(j)) {
                return false;
            } lh.charAt(i) != lh.charAt(j) lh.charAt(i) lh.charAt lh i lh.charAt(j) lh.charAt lh j {
                return false;
            } return false; false i++ i j-- j return true; true String s s public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        String s = sc.next();

        sc.close();

        System.out.println(solve(s) ? "Yes" : "No");

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

        String s = sc.next();

        sc.close();

        System.out.println(solve(s) ? "Yes" : "No");

    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String s = sc.next(); s sc.next() sc.next sc sc.close() sc.close sc System.out.println(solve(s) ? "Yes" : "No") System.out.println System.out System System.out solve(s) ? "Yes" : "No" solve(s) solve s "Yes" "No" String[] args args
import java.util.*;

class Main {

    static public boolean solve(String s) {
        int mid = s.length()/2;
        String lh = s.substring(0, mid);
        String rh = s.substring(mid+1);
        if (! lh.equals(rh)) return false;
        int i = 0, j = lh.length()-1;
        while (i < j) {
            if (lh.charAt(i) != lh.charAt(j)) {
                return false;
            }
            i++; j--;
        }
        return true;
    }

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

        String s = sc.next();

        sc.close();

        System.out.println(solve(s) ? "Yes" : "No");

    }
}