Longest common subsequence (LCS)