longest-common-subsequence - DP