Longest Subsequence Dynamic Programming