#include<stdio.h>
#include<string.h>
int isPalindromicString(char s[ ])
{
int i,j;
int n;
int sum=0;
int sum1=0;
n=strlen(s);
if(n%2==0)
{
for(i=0,j=n-1;i>j;i++,j--)
{
if(s[i]==s[j])
sum+=1;
}
}
else if(n%2!=0)
{
for(i=0,j=n-1;i>=j;i++,j--)
{
if(s[i]==s[j])
sum1+=1;
}
}
if(sum==n/2)
return(1);
else if(sum1==(n-1)/2)
return(1);
else if(sum!=n/2)
return(0);
else if(sum1!=(n-1)/2)
return(0);
}
int main(){
char s[100];
gets(s);
if(isPalindromicString(s))
printf("Yes");
else
printf("No");
return 0;
}