import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
	 	Scanner scanner = new Scanner(System.in);
	 	String S = scanner.next();
	 	int N = S.length();
	 	int count = 0;
		String[] splitArray = S.split("");
		String[] splitArray1 = new String[N];
		String[] A1 = new String[N/2];
		String[] A2 = new String[N/2];
		String[] B1 = new String[N/2];
		String[] B2 = new String[N/2];

		for (int i = 0; i < N; i++) {
			splitArray1[N-1-i] = splitArray[i];
		}

		for (int i = 0; i < N/2; i++) {
			A1[i] = splitArray[i];
		}

		for (int i = 0; i < N/2; i++) {
			A2[i] = A1[N/2-1-i];
		}

		for (int i = 0; i < N/2; i++) {
			B1[i] = splitArray1[i];
		}

		for (int i = 0; i < N/2; i++) {
			B2[i] = B1[N/2-1-i];
		}

		for (int i = 0; i < N; i++) {
			if (splitArray[i].equals(splitArray1[i])) {
				count += 0;
			} else {
				/*
				System.out.println("最初");
			    System.out.println(i);
			    System.out.println(splitArray[i]);
			    System.out.println(splitArray1[i]);
			    */
				count += 1;
				break;
			}
		}

		for (int i = 0; i < N/2; i++) {
			if (A1[i].equals(A2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("A");
			    System.out.println(i);
			    System.out.println(A1[i]);
			    System.out.println(A2[i]);
			    */
				count += 1;
				break;
			}
		}

		for (int i = 0; i < N/2; i++) {
			if (B1[i].equals(B2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("B");
			    System.out.println(i);
			    System.out.println(B1[i]);
			    System.out.println(B2[i]);
			    */
				count += 1;
				break;
			}
		}

		if (count != 0) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		}
 	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
	 	Scanner scanner = new Scanner(System.in);
	 	String S = scanner.next();
	 	int N = S.length();
	 	int count = 0;
		String[] splitArray = S.split("");
		String[] splitArray1 = new String[N];
		String[] A1 = new String[N/2];
		String[] A2 = new String[N/2];
		String[] B1 = new String[N/2];
		String[] B2 = new String[N/2];

		for (int i = 0; i < N; i++) {
			splitArray1[N-1-i] = splitArray[i];
		}

		for (int i = 0; i < N/2; i++) {
			A1[i] = splitArray[i];
		}

		for (int i = 0; i < N/2; i++) {
			A2[i] = A1[N/2-1-i];
		}

		for (int i = 0; i < N/2; i++) {
			B1[i] = splitArray1[i];
		}

		for (int i = 0; i < N/2; i++) {
			B2[i] = B1[N/2-1-i];
		}

		for (int i = 0; i < N; i++) {
			if (splitArray[i].equals(splitArray1[i])) {
				count += 0;
			} else {
				/*
				System.out.println("最初");
			    System.out.println(i);
			    System.out.println(splitArray[i]);
			    System.out.println(splitArray1[i]);
			    */
				count += 1;
				break;
			}
		}

		for (int i = 0; i < N/2; i++) {
			if (A1[i].equals(A2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("A");
			    System.out.println(i);
			    System.out.println(A1[i]);
			    System.out.println(A2[i]);
			    */
				count += 1;
				break;
			}
		}

		for (int i = 0; i < N/2; i++) {
			if (B1[i].equals(B2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("B");
			    System.out.println(i);
			    System.out.println(B1[i]);
			    System.out.println(B2[i]);
			    */
				count += 1;
				break;
			}
		}

		if (count != 0) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		}
 	}
} Main public static void main(String[] args) {
	 	Scanner scanner = new Scanner(System.in);
	 	String S = scanner.next();
	 	int N = S.length();
	 	int count = 0;
		String[] splitArray = S.split("");
		String[] splitArray1 = new String[N];
		String[] A1 = new String[N/2];
		String[] A2 = new String[N/2];
		String[] B1 = new String[N/2];
		String[] B2 = new String[N/2];

		for (int i = 0; i < N; i++) {
			splitArray1[N-1-i] = splitArray[i];
		}

		for (int i = 0; i < N/2; i++) {
			A1[i] = splitArray[i];
		}

		for (int i = 0; i < N/2; i++) {
			A2[i] = A1[N/2-1-i];
		}

		for (int i = 0; i < N/2; i++) {
			B1[i] = splitArray1[i];
		}

		for (int i = 0; i < N/2; i++) {
			B2[i] = B1[N/2-1-i];
		}

		for (int i = 0; i < N; i++) {
			if (splitArray[i].equals(splitArray1[i])) {
				count += 0;
			} else {
				/*
				System.out.println("最初");
			    System.out.println(i);
			    System.out.println(splitArray[i]);
			    System.out.println(splitArray1[i]);
			    */
				count += 1;
				break;
			}
		}

		for (int i = 0; i < N/2; i++) {
			if (A1[i].equals(A2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("A");
			    System.out.println(i);
			    System.out.println(A1[i]);
			    System.out.println(A2[i]);
			    */
				count += 1;
				break;
			}
		}

		for (int i = 0; i < N/2; i++) {
			if (B1[i].equals(B2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("B");
			    System.out.println(i);
			    System.out.println(B1[i]);
			    System.out.println(B2[i]);
			    */
				count += 1;
				break;
			}
		}

		if (count != 0) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		}
 	} main {
	 	Scanner scanner = new Scanner(System.in);
	 	String S = scanner.next();
	 	int N = S.length();
	 	int count = 0;
		String[] splitArray = S.split("");
		String[] splitArray1 = new String[N];
		String[] A1 = new String[N/2];
		String[] A2 = new String[N/2];
		String[] B1 = new String[N/2];
		String[] B2 = new String[N/2];

		for (int i = 0; i < N; i++) {
			splitArray1[N-1-i] = splitArray[i];
		}

		for (int i = 0; i < N/2; i++) {
			A1[i] = splitArray[i];
		}

		for (int i = 0; i < N/2; i++) {
			A2[i] = A1[N/2-1-i];
		}

		for (int i = 0; i < N/2; i++) {
			B1[i] = splitArray1[i];
		}

		for (int i = 0; i < N/2; i++) {
			B2[i] = B1[N/2-1-i];
		}

		for (int i = 0; i < N; i++) {
			if (splitArray[i].equals(splitArray1[i])) {
				count += 0;
			} else {
				/*
				System.out.println("最初");
			    System.out.println(i);
			    System.out.println(splitArray[i]);
			    System.out.println(splitArray1[i]);
			    */
				count += 1;
				break;
			}
		}

		for (int i = 0; i < N/2; i++) {
			if (A1[i].equals(A2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("A");
			    System.out.println(i);
			    System.out.println(A1[i]);
			    System.out.println(A2[i]);
			    */
				count += 1;
				break;
			}
		}

		for (int i = 0; i < N/2; i++) {
			if (B1[i].equals(B2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("B");
			    System.out.println(i);
			    System.out.println(B1[i]);
			    System.out.println(B2[i]);
			    */
				count += 1;
				break;
			}
		}

		if (count != 0) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		}
 	} Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) String S = scanner.next(); S scanner.next() scanner.next scanner int N = S.length(); N S.length() S.length S int count = 0; count 0 String[] splitArray = S.split(""); splitArray S.split("") S.split S "" String[] splitArray1 = new String[N]; splitArray1 new String[N] N String[] A1 = new String[N/2]; A1 new String[N/2] N/2 N 2 String[] A2 = new String[N/2]; A2 new String[N/2] N/2 N 2 String[] B1 = new String[N/2]; B1 new String[N/2] N/2 N 2 String[] B2 = new String[N/2]; B2 new String[N/2] N/2 N 2 for (int i = 0; i < N; i++) {
			splitArray1[N-1-i] = splitArray[i];
		} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			splitArray1[N-1-i] = splitArray[i];
		} {
			splitArray1[N-1-i] = splitArray[i];
		} splitArray1[N-1-i] = splitArray[i] splitArray1[N-1-i] splitArray1 N-1-i N-1-i N 1 i splitArray[i] splitArray i for (int i = 0; i < N/2; i++) {
			A1[i] = splitArray[i];
		} int i = 0; int i = 0; i 0 i < N/2 i N/2 N 2 i++ i++ i {
			A1[i] = splitArray[i];
		} {
			A1[i] = splitArray[i];
		} A1[i] = splitArray[i] A1[i] A1 i splitArray[i] splitArray i for (int i = 0; i < N/2; i++) {
			A2[i] = A1[N/2-1-i];
		} int i = 0; int i = 0; i 0 i < N/2 i N/2 N 2 i++ i++ i {
			A2[i] = A1[N/2-1-i];
		} {
			A2[i] = A1[N/2-1-i];
		} A2[i] = A1[N/2-1-i] A2[i] A2 i A1[N/2-1-i] A1 N/2-1-i N/2-1-i N/2 N 2 1 i for (int i = 0; i < N/2; i++) {
			B1[i] = splitArray1[i];
		} int i = 0; int i = 0; i 0 i < N/2 i N/2 N 2 i++ i++ i {
			B1[i] = splitArray1[i];
		} {
			B1[i] = splitArray1[i];
		} B1[i] = splitArray1[i] B1[i] B1 i splitArray1[i] splitArray1 i for (int i = 0; i < N/2; i++) {
			B2[i] = B1[N/2-1-i];
		} int i = 0; int i = 0; i 0 i < N/2 i N/2 N 2 i++ i++ i {
			B2[i] = B1[N/2-1-i];
		} {
			B2[i] = B1[N/2-1-i];
		} B2[i] = B1[N/2-1-i] B2[i] B2 i B1[N/2-1-i] B1 N/2-1-i N/2-1-i N/2 N 2 1 i for (int i = 0; i < N; i++) {
			if (splitArray[i].equals(splitArray1[i])) {
				count += 0;
			} else {
				/*
				System.out.println("最初");
			    System.out.println(i);
			    System.out.println(splitArray[i]);
			    System.out.println(splitArray1[i]);
			    */
				count += 1;
				break;
			}
		} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			if (splitArray[i].equals(splitArray1[i])) {
				count += 0;
			} else {
				/*
				System.out.println("最初");
			    System.out.println(i);
			    System.out.println(splitArray[i]);
			    System.out.println(splitArray1[i]);
			    */
				count += 1;
				break;
			}
		} {
			if (splitArray[i].equals(splitArray1[i])) {
				count += 0;
			} else {
				/*
				System.out.println("最初");
			    System.out.println(i);
			    System.out.println(splitArray[i]);
			    System.out.println(splitArray1[i]);
			    */
				count += 1;
				break;
			}
		} if (splitArray[i].equals(splitArray1[i])) {
				count += 0;
			} else {
				/*
				System.out.println("最初");
			    System.out.println(i);
			    System.out.println(splitArray[i]);
			    System.out.println(splitArray1[i]);
			    */
				count += 1;
				break;
			} splitArray[i].equals(splitArray1[i]) splitArray[i].equals splitArray[i] splitArray i splitArray1[i] splitArray1 i {
				count += 0;
			} count += 0 count 0 {
				/*
				System.out.println("最初");
			    System.out.println(i);
			    System.out.println(splitArray[i]);
			    System.out.println(splitArray1[i]);
			    */
				count += 1;
				break;
			} count += 1 count 1 break; for (int i = 0; i < N/2; i++) {
			if (A1[i].equals(A2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("A");
			    System.out.println(i);
			    System.out.println(A1[i]);
			    System.out.println(A2[i]);
			    */
				count += 1;
				break;
			}
		} int i = 0; int i = 0; i 0 i < N/2 i N/2 N 2 i++ i++ i {
			if (A1[i].equals(A2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("A");
			    System.out.println(i);
			    System.out.println(A1[i]);
			    System.out.println(A2[i]);
			    */
				count += 1;
				break;
			}
		} {
			if (A1[i].equals(A2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("A");
			    System.out.println(i);
			    System.out.println(A1[i]);
			    System.out.println(A2[i]);
			    */
				count += 1;
				break;
			}
		} if (A1[i].equals(A2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("A");
			    System.out.println(i);
			    System.out.println(A1[i]);
			    System.out.println(A2[i]);
			    */
				count += 1;
				break;
			} A1[i].equals(A2[i]) A1[i].equals A1[i] A1 i A2[i] A2 i {
				count += 0;
			} count += 0 count 0 {
				/*
				System.out.println("A");
			    System.out.println(i);
			    System.out.println(A1[i]);
			    System.out.println(A2[i]);
			    */
				count += 1;
				break;
			} count += 1 count 1 break; for (int i = 0; i < N/2; i++) {
			if (B1[i].equals(B2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("B");
			    System.out.println(i);
			    System.out.println(B1[i]);
			    System.out.println(B2[i]);
			    */
				count += 1;
				break;
			}
		} int i = 0; int i = 0; i 0 i < N/2 i N/2 N 2 i++ i++ i {
			if (B1[i].equals(B2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("B");
			    System.out.println(i);
			    System.out.println(B1[i]);
			    System.out.println(B2[i]);
			    */
				count += 1;
				break;
			}
		} {
			if (B1[i].equals(B2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("B");
			    System.out.println(i);
			    System.out.println(B1[i]);
			    System.out.println(B2[i]);
			    */
				count += 1;
				break;
			}
		} if (B1[i].equals(B2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("B");
			    System.out.println(i);
			    System.out.println(B1[i]);
			    System.out.println(B2[i]);
			    */
				count += 1;
				break;
			} B1[i].equals(B2[i]) B1[i].equals B1[i] B1 i B2[i] B2 i {
				count += 0;
			} count += 0 count 0 {
				/*
				System.out.println("B");
			    System.out.println(i);
			    System.out.println(B1[i]);
			    System.out.println(B2[i]);
			    */
				count += 1;
				break;
			} count += 1 count 1 break; if (count != 0) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		} count != 0 count 0 {
			System.out.println("No");
		} System.out.println("No") System.out.println System.out System System.out "No" {
			System.out.println("Yes");
		} 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 S = scanner.next();
	 	int N = S.length();
	 	int count = 0;
		String[] splitArray = S.split("");
		String[] splitArray1 = new String[N];
		String[] A1 = new String[N/2];
		String[] A2 = new String[N/2];
		String[] B1 = new String[N/2];
		String[] B2 = new String[N/2];

		for (int i = 0; i < N; i++) {
			splitArray1[N-1-i] = splitArray[i];
		}

		for (int i = 0; i < N/2; i++) {
			A1[i] = splitArray[i];
		}

		for (int i = 0; i < N/2; i++) {
			A2[i] = A1[N/2-1-i];
		}

		for (int i = 0; i < N/2; i++) {
			B1[i] = splitArray1[i];
		}

		for (int i = 0; i < N/2; i++) {
			B2[i] = B1[N/2-1-i];
		}

		for (int i = 0; i < N; i++) {
			if (splitArray[i].equals(splitArray1[i])) {
				count += 0;
			} else {
				/*
				System.out.println("最初");
			    System.out.println(i);
			    System.out.println(splitArray[i]);
			    System.out.println(splitArray1[i]);
			    */
				count += 1;
				break;
			}
		}

		for (int i = 0; i < N/2; i++) {
			if (A1[i].equals(A2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("A");
			    System.out.println(i);
			    System.out.println(A1[i]);
			    System.out.println(A2[i]);
			    */
				count += 1;
				break;
			}
		}

		for (int i = 0; i < N/2; i++) {
			if (B1[i].equals(B2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("B");
			    System.out.println(i);
			    System.out.println(B1[i]);
			    System.out.println(B2[i]);
			    */
				count += 1;
				break;
			}
		}

		if (count != 0) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		}
 	}
} public class Main {
	public static void main(String[] args) {
	 	Scanner scanner = new Scanner(System.in);
	 	String S = scanner.next();
	 	int N = S.length();
	 	int count = 0;
		String[] splitArray = S.split("");
		String[] splitArray1 = new String[N];
		String[] A1 = new String[N/2];
		String[] A2 = new String[N/2];
		String[] B1 = new String[N/2];
		String[] B2 = new String[N/2];

		for (int i = 0; i < N; i++) {
			splitArray1[N-1-i] = splitArray[i];
		}

		for (int i = 0; i < N/2; i++) {
			A1[i] = splitArray[i];
		}

		for (int i = 0; i < N/2; i++) {
			A2[i] = A1[N/2-1-i];
		}

		for (int i = 0; i < N/2; i++) {
			B1[i] = splitArray1[i];
		}

		for (int i = 0; i < N/2; i++) {
			B2[i] = B1[N/2-1-i];
		}

		for (int i = 0; i < N; i++) {
			if (splitArray[i].equals(splitArray1[i])) {
				count += 0;
			} else {
				/*
				System.out.println("最初");
			    System.out.println(i);
			    System.out.println(splitArray[i]);
			    System.out.println(splitArray1[i]);
			    */
				count += 1;
				break;
			}
		}

		for (int i = 0; i < N/2; i++) {
			if (A1[i].equals(A2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("A");
			    System.out.println(i);
			    System.out.println(A1[i]);
			    System.out.println(A2[i]);
			    */
				count += 1;
				break;
			}
		}

		for (int i = 0; i < N/2; i++) {
			if (B1[i].equals(B2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("B");
			    System.out.println(i);
			    System.out.println(B1[i]);
			    System.out.println(B2[i]);
			    */
				count += 1;
				break;
			}
		}

		if (count != 0) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		}
 	}
} Main
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
	 	Scanner scanner = new Scanner(System.in);
	 	String S = scanner.next();
	 	int N = S.length();
	 	int count = 0;
		String[] splitArray = S.split("");
		String[] splitArray1 = new String[N];
		String[] A1 = new String[N/2];
		String[] A2 = new String[N/2];
		String[] B1 = new String[N/2];
		String[] B2 = new String[N/2];

		for (int i = 0; i < N; i++) {
			splitArray1[N-1-i] = splitArray[i];
		}

		for (int i = 0; i < N/2; i++) {
			A1[i] = splitArray[i];
		}

		for (int i = 0; i < N/2; i++) {
			A2[i] = A1[N/2-1-i];
		}

		for (int i = 0; i < N/2; i++) {
			B1[i] = splitArray1[i];
		}

		for (int i = 0; i < N/2; i++) {
			B2[i] = B1[N/2-1-i];
		}

		for (int i = 0; i < N; i++) {
			if (splitArray[i].equals(splitArray1[i])) {
				count += 0;
			} else {
				/*
				System.out.println("最初");
			    System.out.println(i);
			    System.out.println(splitArray[i]);
			    System.out.println(splitArray1[i]);
			    */
				count += 1;
				break;
			}
		}

		for (int i = 0; i < N/2; i++) {
			if (A1[i].equals(A2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("A");
			    System.out.println(i);
			    System.out.println(A1[i]);
			    System.out.println(A2[i]);
			    */
				count += 1;
				break;
			}
		}

		for (int i = 0; i < N/2; i++) {
			if (B1[i].equals(B2[i])) {
				count += 0;
			} else {
				/*
				System.out.println("B");
			    System.out.println(i);
			    System.out.println(B1[i]);
			    System.out.println(B2[i]);
			    */
				count += 1;
				break;
			}
		}

		if (count != 0) {
			System.out.println("No");
		} else {
			System.out.println("Yes");
		}
 	}
}