Longest Increasing Subsequence (LIS) - Course 3