program ideone;
function isPalindrome(const s: String): Boolean;
var l: Integer;
begin
l := length(s);
if (l = 1) or (l = 0) then
Exit(True)
else
begin
if s[1] = s[l] then
begin
Exit(isPalindrome(Copy(s, 2, l - 2)));
end
else
Exit(False);
end;
end;
begin
writeln(isPalindrome(''));
writeln(isPalindrome('a'));
writeln(isPalindrome('aa'));
writeln(isPalindrome('ab'));
writeln(isPalindrome('kajak'));
writeln(isPalindrome('niekajak'));
end.
Cgpwcm9ncmFtIGlkZW9uZTsKCglmdW5jdGlvbiBpc1BhbGluZHJvbWUoY29uc3QgczogU3RyaW5nKTogQm9vbGVhbjsKCXZhciBsOiBJbnRlZ2VyOwoJYmVnaW4KCQlsIDo9IGxlbmd0aChzKTsKCQlpZiAobCA9IDEpIG9yIChsID0gMCkgdGhlbiAKCQkJRXhpdChUcnVlKQoJCWVsc2UKCQliZWdpbgoJCQkKCQkJaWYgc1sxXSA9IHNbbF0gdGhlbgoJCQliZWdpbgoJCQkJRXhpdChpc1BhbGluZHJvbWUoQ29weShzLCAyLCBsIC0gMikpKTsKCQkJZW5kCgkJCWVsc2UgCgkJCQlFeGl0KEZhbHNlKTsKCQllbmQ7CgllbmQ7CgpiZWdpbgoKCXdyaXRlbG4oaXNQYWxpbmRyb21lKCcnKSk7Cgl3cml0ZWxuKGlzUGFsaW5kcm9tZSgnYScpKTsKCXdyaXRlbG4oaXNQYWxpbmRyb21lKCdhYScpKTsKCXdyaXRlbG4oaXNQYWxpbmRyb21lKCdhYicpKTsKCXdyaXRlbG4oaXNQYWxpbmRyb21lKCdrYWphaycpKTsKCXdyaXRlbG4oaXNQYWxpbmRyb21lKCduaWVrYWphaycpKTsKCQplbmQu