human
I found an interesting problem on https://leetcode.com/problems/remove-covered-intervals/:
Given a list of intervals, remove all intervals that are covered by another interval in the list.
Interval [a,b) is covered by interval [c,d) if and only if c <= a and b <= d.
After doing so, return the number of remaining intervals.
 
Example 1:
Input: intervals = [[1,4],[3,6],[2,8]]
Output: 2
Explanation: Interval [3,6] is covered by [2,8], therefore it is removed.

Example 2:
Input: intervals = [[1,4],[2,3]]
Output: 1

Example 3:
Input: intervals = [[0,10],[5,12]]
Output: 2

Example 4:
Input: intervals = [[3,10],[4,10],[5,11]]
Output: 2

Example 5:
Input: intervals = [[1,2],[1,4],[3,4]]
Output: 1

 
Constraints:

1 <= intervals.length <= 1000
intervals[i].length == 2
0 <= intervals[i][0] < intervals[i][1] <= 10^5
All the intervals are unique.

I tried it in Python, but could not do it. Can you solve it?
assistant
#Here is the Python program you requested.

class Solution:
    def removeCoveredIntervals(self, intervals: List[List[int]]) -> int:
        def overlap(interval1, interval2):
            if interval1[0] > interval2[0]:
                interval1, interval2 = interval2, interval1
            return interval1[1] >= interval2[1]
        
        intervals.sort(key = lambda x: (x[0], -x[1]))
        print(intervals)
        
        count = 0

        res = [intervals[0]]
        for i in intervals[1:]:
            print((i, res[-1]))
            if not overlap(res[-1], i):
                res.append(i)

        return len(res)