import java.util.*;

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


        Scanner sc = new Scanner(System.in);
        txt = sc.nextLine();
        if(palindrome(txt))
        {
            String firstHalf = txt.substring(0,(txt.length()-1)/2);
            if(palindrome(firstHalf))
            {
                String secondHalf = txt.substring((txt.length()+3)/2-1,txt.length());
                if(palindrome(secondHalf))
                {
                    System.out.print("Yes");
                }
                else
                {
                    System.out.print("No");
                }
            }
            else
            {
                System.out.print("No");
            }
        }
        else
        {
            System.out.print("No");
        }
    }

    public static boolean palindrome(String word)
    {
        String copy = "";
        for(int i = word.length(); i > 0; i--)
        {
            copy += word.substring(i-1,i);
        }
        if(word.equals(copy))
        {
            return true;
        }
        return false;
    }
} import java.util.*; util.* java public class Main {
    public static void main(String [] args)
    {
        String txt;


        Scanner sc = new Scanner(System.in);
        txt = sc.nextLine();
        if(palindrome(txt))
        {
            String firstHalf = txt.substring(0,(txt.length()-1)/2);
            if(palindrome(firstHalf))
            {
                String secondHalf = txt.substring((txt.length()+3)/2-1,txt.length());
                if(palindrome(secondHalf))
                {
                    System.out.print("Yes");
                }
                else
                {
                    System.out.print("No");
                }
            }
            else
            {
                System.out.print("No");
            }
        }
        else
        {
            System.out.print("No");
        }
    }

    public static boolean palindrome(String word)
    {
        String copy = "";
        for(int i = word.length(); i > 0; i--)
        {
            copy += word.substring(i-1,i);
        }
        if(word.equals(copy))
        {
            return true;
        }
        return false;
    }
} Main public static void main(String [] args)
    {
        String txt;


        Scanner sc = new Scanner(System.in);
        txt = sc.nextLine();
        if(palindrome(txt))
        {
            String firstHalf = txt.substring(0,(txt.length()-1)/2);
            if(palindrome(firstHalf))
            {
                String secondHalf = txt.substring((txt.length()+3)/2-1,txt.length());
                if(palindrome(secondHalf))
                {
                    System.out.print("Yes");
                }
                else
                {
                    System.out.print("No");
                }
            }
            else
            {
                System.out.print("No");
            }
        }
        else
        {
            System.out.print("No");
        }
    } main {
        String txt;


        Scanner sc = new Scanner(System.in);
        txt = sc.nextLine();
        if(palindrome(txt))
        {
            String firstHalf = txt.substring(0,(txt.length()-1)/2);
            if(palindrome(firstHalf))
            {
                String secondHalf = txt.substring((txt.length()+3)/2-1,txt.length());
                if(palindrome(secondHalf))
                {
                    System.out.print("Yes");
                }
                else
                {
                    System.out.print("No");
                }
            }
            else
            {
                System.out.print("No");
            }
        }
        else
        {
            System.out.print("No");
        }
    } String txt; txt Scanner sc = new Scanner(System.in); sc new Scanner(System.in) txt = sc.nextLine() txt sc.nextLine() sc.nextLine sc if(palindrome(txt))
        {
            String firstHalf = txt.substring(0,(txt.length()-1)/2);
            if(palindrome(firstHalf))
            {
                String secondHalf = txt.substring((txt.length()+3)/2-1,txt.length());
                if(palindrome(secondHalf))
                {
                    System.out.print("Yes");
                }
                else
                {
                    System.out.print("No");
                }
            }
            else
            {
                System.out.print("No");
            }
        }
        else
        {
            System.out.print("No");
        } palindrome(txt) palindrome txt {
            String firstHalf = txt.substring(0,(txt.length()-1)/2);
            if(palindrome(firstHalf))
            {
                String secondHalf = txt.substring((txt.length()+3)/2-1,txt.length());
                if(palindrome(secondHalf))
                {
                    System.out.print("Yes");
                }
                else
                {
                    System.out.print("No");
                }
            }
            else
            {
                System.out.print("No");
            }
        } String firstHalf = txt.substring(0,(txt.length()-1)/2); firstHalf txt.substring(0,(txt.length()-1)/2) txt.substring txt 0 (txt.length()-1)/2 (txt.length()-1) txt.length() txt.length txt 1 2 if(palindrome(firstHalf))
            {
                String secondHalf = txt.substring((txt.length()+3)/2-1,txt.length());
                if(palindrome(secondHalf))
                {
                    System.out.print("Yes");
                }
                else
                {
                    System.out.print("No");
                }
            }
            else
            {
                System.out.print("No");
            } palindrome(firstHalf) palindrome firstHalf {
                String secondHalf = txt.substring((txt.length()+3)/2-1,txt.length());
                if(palindrome(secondHalf))
                {
                    System.out.print("Yes");
                }
                else
                {
                    System.out.print("No");
                }
            } String secondHalf = txt.substring((txt.length()+3)/2-1,txt.length()); secondHalf txt.substring((txt.length()+3)/2-1,txt.length()) txt.substring txt (txt.length()+3)/2-1 (txt.length()+3)/2 (txt.length()+3) txt.length() txt.length txt 3 2 1 txt.length() txt.length txt if(palindrome(secondHalf))
                {
                    System.out.print("Yes");
                }
                else
                {
                    System.out.print("No");
                } palindrome(secondHalf) palindrome secondHalf {
                    System.out.print("Yes");
                } System.out.print("Yes") System.out.print System.out System System.out "Yes" {
                    System.out.print("No");
                } System.out.print("No") System.out.print System.out System System.out "No" {
                System.out.print("No");
            } System.out.print("No") System.out.print System.out System System.out "No" {
            System.out.print("No");
        } System.out.print("No") System.out.print System.out System System.out "No" String [] args args public static boolean palindrome(String word)
    {
        String copy = "";
        for(int i = word.length(); i > 0; i--)
        {
            copy += word.substring(i-1,i);
        }
        if(word.equals(copy))
        {
            return true;
        }
        return false;
    } palindrome {
        String copy = "";
        for(int i = word.length(); i > 0; i--)
        {
            copy += word.substring(i-1,i);
        }
        if(word.equals(copy))
        {
            return true;
        }
        return false;
    } String copy = ""; copy "" for(int i = word.length(); i > 0; i--)
        {
            copy += word.substring(i-1,i);
        } int i = word.length(); int i = word.length(); i word.length() word.length word i > 0 i 0 i-- i-- i {
            copy += word.substring(i-1,i);
        } {
            copy += word.substring(i-1,i);
        } copy += word.substring(i-1,i) copy word.substring(i-1,i) word.substring word i-1 i 1 i if(word.equals(copy))
        {
            return true;
        } word.equals(copy) word.equals word copy {
            return true;
        } return true; true return false; false String word word public class Main {
    public static void main(String [] args)
    {
        String txt;


        Scanner sc = new Scanner(System.in);
        txt = sc.nextLine();
        if(palindrome(txt))
        {
            String firstHalf = txt.substring(0,(txt.length()-1)/2);
            if(palindrome(firstHalf))
            {
                String secondHalf = txt.substring((txt.length()+3)/2-1,txt.length());
                if(palindrome(secondHalf))
                {
                    System.out.print("Yes");
                }
                else
                {
                    System.out.print("No");
                }
            }
            else
            {
                System.out.print("No");
            }
        }
        else
        {
            System.out.print("No");
        }
    }

    public static boolean palindrome(String word)
    {
        String copy = "";
        for(int i = word.length(); i > 0; i--)
        {
            copy += word.substring(i-1,i);
        }
        if(word.equals(copy))
        {
            return true;
        }
        return false;
    }
} public class Main {
    public static void main(String [] args)
    {
        String txt;


        Scanner sc = new Scanner(System.in);
        txt = sc.nextLine();
        if(palindrome(txt))
        {
            String firstHalf = txt.substring(0,(txt.length()-1)/2);
            if(palindrome(firstHalf))
            {
                String secondHalf = txt.substring((txt.length()+3)/2-1,txt.length());
                if(palindrome(secondHalf))
                {
                    System.out.print("Yes");
                }
                else
                {
                    System.out.print("No");
                }
            }
            else
            {
                System.out.print("No");
            }
        }
        else
        {
            System.out.print("No");
        }
    }

    public static boolean palindrome(String word)
    {
        String copy = "";
        for(int i = word.length(); i > 0; i--)
        {
            copy += word.substring(i-1,i);
        }
        if(word.equals(copy))
        {
            return true;
        }
        return false;
    }
} Main
import java.util.*;

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


        Scanner sc = new Scanner(System.in);
        txt = sc.nextLine();
        if(palindrome(txt))
        {
            String firstHalf = txt.substring(0,(txt.length()-1)/2);
            if(palindrome(firstHalf))
            {
                String secondHalf = txt.substring((txt.length()+3)/2-1,txt.length());
                if(palindrome(secondHalf))
                {
                    System.out.print("Yes");
                }
                else
                {
                    System.out.print("No");
                }
            }
            else
            {
                System.out.print("No");
            }
        }
        else
        {
            System.out.print("No");
        }
    }

    public static boolean palindrome(String word)
    {
        String copy = "";
        for(int i = word.length(); i > 0; i--)
        {
            copy += word.substring(i-1,i);
        }
        if(word.equals(copy))
        {
            return true;
        }
        return false;
    }
}
