Longest Common Subsequence (LCS)