memoized lcs calc