import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next();
        String[] sl = s.split("");
        int n = s.length();
        StringBuilder sb = new StringBuilder();
        for (String si: sl) {
            sb.append(si);
        }
        String sr = sb.reverse().toString();
        if (s.equals(sr) && s.substring(0, n/2).equals(sr.substring((n+1)/2, n))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next();
        String[] sl = s.split("");
        int n = s.length();
        StringBuilder sb = new StringBuilder();
        for (String si: sl) {
            sb.append(si);
        }
        String sr = sb.reverse().toString();
        if (s.equals(sr) && s.substring(0, n/2).equals(sr.substring((n+1)/2, n))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
} Main public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next();
        String[] sl = s.split("");
        int n = s.length();
        StringBuilder sb = new StringBuilder();
        for (String si: sl) {
            sb.append(si);
        }
        String sr = sb.reverse().toString();
        if (s.equals(sr) && s.substring(0, n/2).equals(sr.substring((n+1)/2, n))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    } main {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next();
        String[] sl = s.split("");
        int n = s.length();
        StringBuilder sb = new StringBuilder();
        for (String si: sl) {
            sb.append(si);
        }
        String sr = sb.reverse().toString();
        if (s.equals(sr) && s.substring(0, n/2).equals(sr.substring((n+1)/2, n))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    } Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) String s = scanner.next(); s scanner.next() scanner.next scanner String[] sl = s.split(""); sl s.split("") s.split s "" int n = s.length(); n s.length() s.length s StringBuilder sb = new StringBuilder(); sb new StringBuilder() for (String si: sl) {
            sb.append(si);
        } String si sl {
            sb.append(si);
        } {
            sb.append(si);
        } sb.append(si) sb.append sb si String sr = sb.reverse().toString(); sr sb.reverse().toString() sb.reverse().toString sb.reverse() sb.reverse sb if (s.equals(sr) && s.substring(0, n/2).equals(sr.substring((n+1)/2, n))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        } s.equals(sr) && s.substring(0, n/2).equals(sr.substring((n+1)/2, n)) s.equals(sr) s.equals s sr s.substring(0, n/2).equals(sr.substring((n+1)/2, n)) s.substring(0, n/2).equals s.substring(0, n/2) s.substring s 0 n/2 n 2 sr.substring((n+1)/2, n) sr.substring sr (n+1)/2 (n+1) n 1 2 n {
            System.out.println("Yes");
        } System.out.println("Yes") System.out.println System.out System System.out "Yes" {
            System.out.println("No");
        } System.out.println("No") System.out.println System.out System System.out "No" String[] args args public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next();
        String[] sl = s.split("");
        int n = s.length();
        StringBuilder sb = new StringBuilder();
        for (String si: sl) {
            sb.append(si);
        }
        String sr = sb.reverse().toString();
        if (s.equals(sr) && s.substring(0, n/2).equals(sr.substring((n+1)/2, n))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
} public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next();
        String[] sl = s.split("");
        int n = s.length();
        StringBuilder sb = new StringBuilder();
        for (String si: sl) {
            sb.append(si);
        }
        String sr = sb.reverse().toString();
        if (s.equals(sr) && s.substring(0, n/2).equals(sr.substring((n+1)/2, n))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
} Main
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next();
        String[] sl = s.split("");
        int n = s.length();
        StringBuilder sb = new StringBuilder();
        for (String si: sl) {
            sb.append(si);
        }
        String sr = sb.reverse().toString();
        if (s.equals(sr) && s.substring(0, n/2).equals(sr.substring((n+1)/2, n))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
}