Longest Palindromic Subsequence Using Dynamic Programming