#include <iostream>
#include <string>
using namespace std;
// checks whether the given string is a palindrome
int is_palindrome(string s)
{
int i;
int half_size = s.size()/2;
// check all characters (except for middle one if size is odd)
// on whether it is equal to the opposite character across the
// middle of the string
for (i=0; i<half_size; i++)
if (s[i] != s[s.size()-1-i])
return 0;
// if we got this far, we already know that it is a palindrome,
// because all characters matched as they should
return 1;
}
// main function
int main()
{
string s;
// read string s from input
cin >> s;
// check whether the string is a palindrome, and print out
// the result
if ( is_palindrome(s) )
cout << s << " is a palindrome." << endl;
else
cout << s << " is not a palindrome." << endl;
// return 0 from main
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIGNoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBzdHJpbmcgaXMgYSBwYWxpbmRyb21lCgppbnQgaXNfcGFsaW5kcm9tZShzdHJpbmcgcykKewogIGludCBpOwogIGludCBoYWxmX3NpemUgPSBzLnNpemUoKS8yOwoKICAvLyBjaGVjayBhbGwgY2hhcmFjdGVycyAoZXhjZXB0IGZvciBtaWRkbGUgb25lIGlmIHNpemUgaXMgb2RkKQogIC8vIG9uIHdoZXRoZXIgaXQgaXMgZXF1YWwgdG8gdGhlIG9wcG9zaXRlIGNoYXJhY3RlciBhY3Jvc3MgdGhlCiAgLy8gbWlkZGxlIG9mIHRoZSBzdHJpbmcKCiAgZm9yIChpPTA7IGk8aGFsZl9zaXplOyBpKyspCiAgICBpZiAoc1tpXSAhPSBzW3Muc2l6ZSgpLTEtaV0pCiAgICAgIHJldHVybiAwOwoKICAvLyBpZiB3ZSBnb3QgdGhpcyBmYXIsIHdlIGFscmVhZHkga25vdyB0aGF0IGl0IGlzIGEgcGFsaW5kcm9tZSwgCiAgLy8gYmVjYXVzZSBhbGwgY2hhcmFjdGVycyBtYXRjaGVkIGFzIHRoZXkgc2hvdWxkIAoKICByZXR1cm4gMTsKfQoKLy8gbWFpbiBmdW5jdGlvbgoKaW50IG1haW4oKQp7CiAgc3RyaW5nIHM7CgogIC8vIHJlYWQgc3RyaW5nIHMgZnJvbSBpbnB1dAoKICBjaW4gPj4gczsKCiAgLy8gY2hlY2sgd2hldGhlciB0aGUgc3RyaW5nIGlzIGEgcGFsaW5kcm9tZSwgYW5kIHByaW50IG91dCAKICAvLyB0aGUgcmVzdWx0CgogIGlmICggaXNfcGFsaW5kcm9tZShzKSApCiAgICBjb3V0IDw8IHMgPDwgIiBpcyBhIHBhbGluZHJvbWUuIiA8PCBlbmRsOwogIGVsc2UKICAgIGNvdXQgPDwgcyA8PCAiIGlzIG5vdCBhIHBhbGluZHJvbWUuIiA8PCBlbmRsOwoKICAvLyByZXR1cm4gMCBmcm9tIG1haW4KCiAgcmV0dXJuIDA7Cn0=