

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		String s = scan.next();

		String anser = "No";

		StringBuilder sb = new StringBuilder(s);

		if (s.equals(sb.reverse().toString())) {

			String sbe = s.substring(0, (s.length() - 1) / 2);
			String sba = s.substring((s.length() + 1) / 2, s.length());

			StringBuilder sbbe = new StringBuilder(sbe);
			StringBuilder sbba = new StringBuilder(sba);

			if (sbe.equals(sbbe.reverse().toString()) && sba.equals(sbba.reverse().toString())) {
				anser = "Yes";

			}

		}
		System.out.println(anser);

	}

} import java.util.Scanner; Scanner java.util public class Main{
	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		String s = scan.next();

		String anser = "No";

		StringBuilder sb = new StringBuilder(s);

		if (s.equals(sb.reverse().toString())) {

			String sbe = s.substring(0, (s.length() - 1) / 2);
			String sba = s.substring((s.length() + 1) / 2, s.length());

			StringBuilder sbbe = new StringBuilder(sbe);
			StringBuilder sbba = new StringBuilder(sba);

			if (sbe.equals(sbbe.reverse().toString()) && sba.equals(sbba.reverse().toString())) {
				anser = "Yes";

			}

		}
		System.out.println(anser);

	}

} Main public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		String s = scan.next();

		String anser = "No";

		StringBuilder sb = new StringBuilder(s);

		if (s.equals(sb.reverse().toString())) {

			String sbe = s.substring(0, (s.length() - 1) / 2);
			String sba = s.substring((s.length() + 1) / 2, s.length());

			StringBuilder sbbe = new StringBuilder(sbe);
			StringBuilder sbba = new StringBuilder(sba);

			if (sbe.equals(sbbe.reverse().toString()) && sba.equals(sbba.reverse().toString())) {
				anser = "Yes";

			}

		}
		System.out.println(anser);

	} main {

		Scanner scan = new Scanner(System.in);
		String s = scan.next();

		String anser = "No";

		StringBuilder sb = new StringBuilder(s);

		if (s.equals(sb.reverse().toString())) {

			String sbe = s.substring(0, (s.length() - 1) / 2);
			String sba = s.substring((s.length() + 1) / 2, s.length());

			StringBuilder sbbe = new StringBuilder(sbe);
			StringBuilder sbba = new StringBuilder(sba);

			if (sbe.equals(sbbe.reverse().toString()) && sba.equals(sbba.reverse().toString())) {
				anser = "Yes";

			}

		}
		System.out.println(anser);

	} Scanner scan = new Scanner(System.in); scan new Scanner(System.in) String s = scan.next(); s scan.next() scan.next scan String anser = "No"; anser "No" StringBuilder sb = new StringBuilder(s); sb new StringBuilder(s) if (s.equals(sb.reverse().toString())) {

			String sbe = s.substring(0, (s.length() - 1) / 2);
			String sba = s.substring((s.length() + 1) / 2, s.length());

			StringBuilder sbbe = new StringBuilder(sbe);
			StringBuilder sbba = new StringBuilder(sba);

			if (sbe.equals(sbbe.reverse().toString()) && sba.equals(sbba.reverse().toString())) {
				anser = "Yes";

			}

		} s.equals(sb.reverse().toString()) s.equals s sb.reverse().toString() sb.reverse().toString sb.reverse() sb.reverse sb {

			String sbe = s.substring(0, (s.length() - 1) / 2);
			String sba = s.substring((s.length() + 1) / 2, s.length());

			StringBuilder sbbe = new StringBuilder(sbe);
			StringBuilder sbba = new StringBuilder(sba);

			if (sbe.equals(sbbe.reverse().toString()) && sba.equals(sbba.reverse().toString())) {
				anser = "Yes";

			}

		} String sbe = s.substring(0, (s.length() - 1) / 2); sbe s.substring(0, (s.length() - 1) / 2) s.substring s 0 (s.length() - 1) / 2 (s.length() - 1) s.length() s.length s 1 2 String sba = s.substring((s.length() + 1) / 2, s.length()); sba s.substring((s.length() + 1) / 2, s.length()) s.substring s (s.length() + 1) / 2 (s.length() + 1) s.length() s.length s 1 2 s.length() s.length s StringBuilder sbbe = new StringBuilder(sbe); sbbe new StringBuilder(sbe) StringBuilder sbba = new StringBuilder(sba); sbba new StringBuilder(sba) if (sbe.equals(sbbe.reverse().toString()) && sba.equals(sbba.reverse().toString())) {
				anser = "Yes";

			} sbe.equals(sbbe.reverse().toString()) && sba.equals(sbba.reverse().toString()) sbe.equals(sbbe.reverse().toString()) sbe.equals sbe sbbe.reverse().toString() sbbe.reverse().toString sbbe.reverse() sbbe.reverse sbbe sba.equals(sbba.reverse().toString()) sba.equals sba sbba.reverse().toString() sbba.reverse().toString sbba.reverse() sbba.reverse sbba {
				anser = "Yes";

			} anser = "Yes" anser "Yes" System.out.println(anser) System.out.println System.out System System.out anser String[] args args public class Main{
	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		String s = scan.next();

		String anser = "No";

		StringBuilder sb = new StringBuilder(s);

		if (s.equals(sb.reverse().toString())) {

			String sbe = s.substring(0, (s.length() - 1) / 2);
			String sba = s.substring((s.length() + 1) / 2, s.length());

			StringBuilder sbbe = new StringBuilder(sbe);
			StringBuilder sbba = new StringBuilder(sba);

			if (sbe.equals(sbbe.reverse().toString()) && sba.equals(sbba.reverse().toString())) {
				anser = "Yes";

			}

		}
		System.out.println(anser);

	}

} public class Main{
	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		String s = scan.next();

		String anser = "No";

		StringBuilder sb = new StringBuilder(s);

		if (s.equals(sb.reverse().toString())) {

			String sbe = s.substring(0, (s.length() - 1) / 2);
			String sba = s.substring((s.length() + 1) / 2, s.length());

			StringBuilder sbbe = new StringBuilder(sbe);
			StringBuilder sbba = new StringBuilder(sba);

			if (sbe.equals(sbbe.reverse().toString()) && sba.equals(sbba.reverse().toString())) {
				anser = "Yes";

			}

		}
		System.out.println(anser);

	}

} Main


import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		String s = scan.next();

		String anser = "No";

		StringBuilder sb = new StringBuilder(s);

		if (s.equals(sb.reverse().toString())) {

			String sbe = s.substring(0, (s.length() - 1) / 2);
			String sba = s.substring((s.length() + 1) / 2, s.length());

			StringBuilder sbbe = new StringBuilder(sbe);
			StringBuilder sbba = new StringBuilder(sba);

			if (sbe.equals(sbbe.reverse().toString()) && sba.equals(sbba.reverse().toString())) {
				anser = "Yes";

			}

		}
		System.out.println(anser);

	}

}
