import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String input = reader.readLine();
        int length = input.length();
        int latter = (length + 3) / 2 ;
        int i = 0;
        for (i = 0; i < length / 2;i++) {
            if (input.charAt(i) != input.charAt(input.length() - 1 - i)) {
                break;
 
            }
            if (i < (length) / 2) {
                if (input.charAt(i) != input.charAt((length) / 2 - 1 -  i)) {
 
                    break;
                }
            }
            if (i < (length - latter) / 2) {
                if (input.charAt(length - i - 1) != input.charAt(latter + i - 1)) {
                    break;
                }
            }
        }
        if (i == length / 2) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String input = reader.readLine();
        int length = input.length();
        int latter = (length + 3) / 2 ;
        int i = 0;
        for (i = 0; i < length / 2;i++) {
            if (input.charAt(i) != input.charAt(input.length() - 1 - i)) {
                break;
 
            }
            if (i < (length) / 2) {
                if (input.charAt(i) != input.charAt((length) / 2 - 1 -  i)) {
 
                    break;
                }
            }
            if (i < (length - latter) / 2) {
                if (input.charAt(length - i - 1) != input.charAt(latter + i - 1)) {
                    break;
                }
            }
        }
        if (i == length / 2) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
} Main public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String input = reader.readLine();
        int length = input.length();
        int latter = (length + 3) / 2 ;
        int i = 0;
        for (i = 0; i < length / 2;i++) {
            if (input.charAt(i) != input.charAt(input.length() - 1 - i)) {
                break;
 
            }
            if (i < (length) / 2) {
                if (input.charAt(i) != input.charAt((length) / 2 - 1 -  i)) {
 
                    break;
                }
            }
            if (i < (length - latter) / 2) {
                if (input.charAt(length - i - 1) != input.charAt(latter + i - 1)) {
                    break;
                }
            }
        }
        if (i == length / 2) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    } main {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String input = reader.readLine();
        int length = input.length();
        int latter = (length + 3) / 2 ;
        int i = 0;
        for (i = 0; i < length / 2;i++) {
            if (input.charAt(i) != input.charAt(input.length() - 1 - i)) {
                break;
 
            }
            if (i < (length) / 2) {
                if (input.charAt(i) != input.charAt((length) / 2 - 1 -  i)) {
 
                    break;
                }
            }
            if (i < (length - latter) / 2) {
                if (input.charAt(length - i - 1) != input.charAt(latter + i - 1)) {
                    break;
                }
            }
        }
        if (i == length / 2) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    } BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); reader new BufferedReader(new InputStreamReader(System.in)) String input = reader.readLine(); input reader.readLine() reader.readLine reader int length = input.length(); length input.length() input.length input int latter = (length + 3) / 2 ; latter (length + 3) / 2 (length + 3) length 3 2 int i = 0; i 0 for (i = 0; i < length / 2;i++) {
            if (input.charAt(i) != input.charAt(input.length() - 1 - i)) {
                break;
 
            }
            if (i < (length) / 2) {
                if (input.charAt(i) != input.charAt((length) / 2 - 1 -  i)) {
 
                    break;
                }
            }
            if (i < (length - latter) / 2) {
                if (input.charAt(length - i - 1) != input.charAt(latter + i - 1)) {
                    break;
                }
            }
        } i = 0; i = 0 i 0 i < length / 2 i length / 2 length 2 i++ i++ i {
            if (input.charAt(i) != input.charAt(input.length() - 1 - i)) {
                break;
 
            }
            if (i < (length) / 2) {
                if (input.charAt(i) != input.charAt((length) / 2 - 1 -  i)) {
 
                    break;
                }
            }
            if (i < (length - latter) / 2) {
                if (input.charAt(length - i - 1) != input.charAt(latter + i - 1)) {
                    break;
                }
            }
        } {
            if (input.charAt(i) != input.charAt(input.length() - 1 - i)) {
                break;
 
            }
            if (i < (length) / 2) {
                if (input.charAt(i) != input.charAt((length) / 2 - 1 -  i)) {
 
                    break;
                }
            }
            if (i < (length - latter) / 2) {
                if (input.charAt(length - i - 1) != input.charAt(latter + i - 1)) {
                    break;
                }
            }
        } if (input.charAt(i) != input.charAt(input.length() - 1 - i)) {
                break;
 
            } input.charAt(i) != input.charAt(input.length() - 1 - i) input.charAt(i) input.charAt input i input.charAt(input.length() - 1 - i) input.charAt input input.length() - 1 - i input.length() - 1 - i input.length() input.length input 1 i {
                break;
 
            } break; if (i < (length) / 2) {
                if (input.charAt(i) != input.charAt((length) / 2 - 1 -  i)) {
 
                    break;
                }
            } i < (length) / 2 i (length) / 2 (length) 2 {
                if (input.charAt(i) != input.charAt((length) / 2 - 1 -  i)) {
 
                    break;
                }
            } if (input.charAt(i) != input.charAt((length) / 2 - 1 -  i)) {
 
                    break;
                } input.charAt(i) != input.charAt((length) / 2 - 1 -  i) input.charAt(i) input.charAt input i input.charAt((length) / 2 - 1 -  i) input.charAt input (length) / 2 - 1 -  i (length) / 2 - 1 -  i (length) / 2 (length) 2 1 i {
 
                    break;
                } break; if (i < (length - latter) / 2) {
                if (input.charAt(length - i - 1) != input.charAt(latter + i - 1)) {
                    break;
                }
            } i < (length - latter) / 2 i (length - latter) / 2 (length - latter) length latter 2 {
                if (input.charAt(length - i - 1) != input.charAt(latter + i - 1)) {
                    break;
                }
            } if (input.charAt(length - i - 1) != input.charAt(latter + i - 1)) {
                    break;
                } input.charAt(length - i - 1) != input.charAt(latter + i - 1) input.charAt(length - i - 1) input.charAt input length - i - 1 length - i - 1 length i 1 input.charAt(latter + i - 1) input.charAt input latter + i - 1 latter + i latter i 1 {
                    break;
                } break; if (i == length / 2) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        } i == length / 2 i length / 2 length 2 {
            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) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String input = reader.readLine();
        int length = input.length();
        int latter = (length + 3) / 2 ;
        int i = 0;
        for (i = 0; i < length / 2;i++) {
            if (input.charAt(i) != input.charAt(input.length() - 1 - i)) {
                break;
 
            }
            if (i < (length) / 2) {
                if (input.charAt(i) != input.charAt((length) / 2 - 1 -  i)) {
 
                    break;
                }
            }
            if (i < (length - latter) / 2) {
                if (input.charAt(length - i - 1) != input.charAt(latter + i - 1)) {
                    break;
                }
            }
        }
        if (i == length / 2) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
} public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String input = reader.readLine();
        int length = input.length();
        int latter = (length + 3) / 2 ;
        int i = 0;
        for (i = 0; i < length / 2;i++) {
            if (input.charAt(i) != input.charAt(input.length() - 1 - i)) {
                break;
 
            }
            if (i < (length) / 2) {
                if (input.charAt(i) != input.charAt((length) / 2 - 1 -  i)) {
 
                    break;
                }
            }
            if (i < (length - latter) / 2) {
                if (input.charAt(length - i - 1) != input.charAt(latter + i - 1)) {
                    break;
                }
            }
        }
        if (i == length / 2) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String input = reader.readLine();
        int length = input.length();
        int latter = (length + 3) / 2 ;
        int i = 0;
        for (i = 0; i < length / 2;i++) {
            if (input.charAt(i) != input.charAt(input.length() - 1 - i)) {
                break;
 
            }
            if (i < (length) / 2) {
                if (input.charAt(i) != input.charAt((length) / 2 - 1 -  i)) {
 
                    break;
                }
            }
            if (i < (length - latter) / 2) {
                if (input.charAt(length - i - 1) != input.charAt(latter + i - 1)) {
                    break;
                }
            }
        }
        if (i == length / 2) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
}