- #include <string> 
- #include <iostream> 
-   
- bool palindrome( const std::string& s, int i = 0 ) 
- { 
-     if ( i == s.size() ) 
-         return true; 
-   
-     return s[ i ] == s[ s.size() - i - 1 ] && palindrome( s , i + 1 ); 
- } 
-   
- int main() 
- { 
-     using namespace std; 
-     cout << palindrome( "example" ) << endl; // Not palindrome 
-     cout << palindrome( "repaper" ) << endl; // Palindrome 
-     cout << palindrome( "rotator" ) << endl; // Palindrome 
-     cout << palindrome( "madam" ) << endl; // Palindrome 
-     cout << palindrome( "" ) << endl; // Palindrome 
-     cout << palindrome( "" ) << endl; // Palindrome 
- } 
-   
				I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKYm9vbCBwYWxpbmRyb21lKCBjb25zdCBzdGQ6OnN0cmluZyYgcywgaW50IGkgPSAwICkKewogICAgaWYgKCBpID09IHMuc2l6ZSgpICkKICAgICAgICByZXR1cm4gdHJ1ZTsKCiAgICByZXR1cm4gc1sgaSBdID09IHNbIHMuc2l6ZSgpIC0gaSAtIDEgXSAmJiBwYWxpbmRyb21lKCBzICwgaSArIDEgKTsKfQoKaW50IG1haW4oKQp7CiAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOwogICAgY291dCA8PCBwYWxpbmRyb21lKCAiZXhhbXBsZSIgKSA8PCBlbmRsOyAvLyBOb3QgcGFsaW5kcm9tZQogICAgY291dCA8PCBwYWxpbmRyb21lKCAicmVwYXBlciIgKSA8PCBlbmRsOyAvLyBQYWxpbmRyb21lCiAgICBjb3V0IDw8IHBhbGluZHJvbWUoICJyb3RhdG9yIiApIDw8IGVuZGw7IC8vIFBhbGluZHJvbWUKICAgIGNvdXQgPDwgcGFsaW5kcm9tZSggIm1hZGFtIiApIDw8IGVuZGw7IC8vIFBhbGluZHJvbWUKICAgIGNvdXQgPDwgcGFsaW5kcm9tZSggIiIgKSA8PCBlbmRsOyAvLyBQYWxpbmRyb21lCiAgICBjb3V0IDw8IHBhbGluZHJvbWUoICIiICkgPDwgZW5kbDsgLy8gUGFsaW5kcm9tZQp9Cg==