In this task you will be given a string and you should find the longest substring that is a palindrome. A palindrome is a string that is the same backwards as it is forwards. If the shortest possible palindrome is length 1 you should return the first character.

Example Input: smsmggggsmsmsms
Example Output: smsmsms

Example Input: puppppppppup
Example Output: puppppppppup

Example Input: nnbnnnnbnqq
Example Output:
nbnnnnbn