the longest palindrome substring problem