https://www.ernbook.com/algorithm-longest-palindromic-substring/