find longest subsequence