-- return 1st `n` chars of the `word`
local function start(word, n) return word:sub(1, n) end;
-- return true/false for palindrome/non-palindrome
local function pali(word)
-- half length of the `word`
local hlen = #word / 2;
-- 1st part of the word w/ middle char if any
local half = start(word, hlen);
-- construct a palindrome for the given word
local half_r = start(word:reverse(), hlen);
-- compare constructed polindrome with the initial word
return half == half_r;
end;
-- print results
print( pali( (...) or "" ) );