#include <iostream>
#include <cstdio>
#include <cstring>
#define lli long long int
using namespace std;
lli RevCount (char *s, lli f, lli l);
int main () {
char Word[30];
int flag, i;
while (scanf ("%s",Word),strcmp (Word,"*END*")!=0)
{
flag = 0;
for (i=1;i<strlen(Word); i++)
{ /* check each possibility */
if (RevCount (Word,0,i-1) && RevCount (Word,i,strlen(Word)-1))
{
flag = 1;
break;
}
}
if (flag)
printf ("%s YES\n",Word);
else
printf ("%s NO\n",Word);
}
return 0;
}
lli RevCount (char *s, lli first, lli last) {
lli i, ct=0;
for (i=first; i < first+(last-first+1)/2; i++)
ct += s[i] != s[first+last-i]; /* count differences */
if(ct==1 || (ct==0 && (last-first)%2==0))
return 1;
else
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8Y3N0cmluZz4KI2RlZmluZSBsbGkgbG9uZyBsb25nIGludAp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCmxsaSBSZXZDb3VudCAoY2hhciAqcywgbGxpIGYsIGxsaSBsKTsKIAppbnQgbWFpbiAoKSB7CiAKICAJY2hhciBXb3JkWzMwXTsKICAJaW50IGZsYWcsIGk7CiAKCXdoaWxlIChzY2FuZiAoIiVzIixXb3JkKSxzdHJjbXAgKFdvcmQsIipFTkQqIikhPTApIAoJewoJCWZsYWcgPSAwOwoJCWZvciAoaT0xO2k8c3RybGVuKFdvcmQpOyBpKyspIAoJCXsgLyogY2hlY2sgZWFjaCBwb3NzaWJpbGl0eSAqLwoJCQlpZiAoUmV2Q291bnQgKFdvcmQsMCxpLTEpICYmIFJldkNvdW50IChXb3JkLGksc3RybGVuKFdvcmQpLTEpKSAKCQkJewoJCQkJZmxhZyA9IDE7CgkJCQlicmVhazsKCQkJfQoJCX0KCQlpZiAoZmxhZykKCQlwcmludGYgKCIlcyBZRVNcbiIsV29yZCk7CgkJZWxzZQoJCXByaW50ZiAoIiVzIE5PXG4iLFdvcmQpOwoJfQogcmV0dXJuIDA7Cn0KIApsbGkgUmV2Q291bnQgKGNoYXIgKnMsIGxsaSBmaXJzdCwgbGxpIGxhc3QpIHsKIAogIGxsaSBpLCBjdD0wOwogCiBmb3IgKGk9Zmlyc3Q7IGkgPCBmaXJzdCsobGFzdC1maXJzdCsxKS8yOyBpKyspCiAgY3QgKz0gc1tpXSAhPSBzW2ZpcnN0K2xhc3QtaV07IC8qIGNvdW50IGRpZmZlcmVuY2VzICovCiBpZihjdD09MSB8fCAoY3Q9PTAgJiYgKGxhc3QtZmlyc3QpJTI9PTApKQoJcmV0dXJuIDE7CmVsc2UKCXJldHVybiAwOwoKfQ==