#include <iostream>
#include <string>
bool palindrom( const std::string& s )
{
for( size_t i=0; i<s.length()/2; ++i )
{
if( s[i] != s[s.length()-i-1] ) return false;
}
return true;
}
bool damaged( const std::string& s )
{
return s.length() % 2 || !palindrom( s );
}
int main( ) {
std::string s;
std::getline( std::cin, s );
std::cout << (damaged( s ) ? "YES" : "NO") << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKYm9vbCBwYWxpbmRyb20oIGNvbnN0IHN0ZDo6c3RyaW5nJiBzICkKewoJZm9yKCBzaXplX3QgaT0wOyBpPHMubGVuZ3RoKCkvMjsgKytpICkKCXsKCQlpZiggc1tpXSAhPSBzW3MubGVuZ3RoKCktaS0xXSApIHJldHVybiBmYWxzZTsKCX0KCXJldHVybiB0cnVlOwp9Cgpib29sIGRhbWFnZWQoIGNvbnN0IHN0ZDo6c3RyaW5nJiBzICkKewoJcmV0dXJuIHMubGVuZ3RoKCkgJSAyIHx8ICFwYWxpbmRyb20oIHMgKTsKfQoKaW50IG1haW4oICkgewoKCXN0ZDo6c3RyaW5nIHM7CgkKCXN0ZDo6Z2V0bGluZSggc3RkOjpjaW4sIHMgKTsKCglzdGQ6OmNvdXQgPDwgKGRhbWFnZWQoIHMgKSA/ICJZRVMiIDogIk5PIikgPDwgc3RkOjplbmRsOwoKCXJldHVybiAwOwp9