class Solution:
    def merge(self , intervals ):
        # write code here
        intervals.sort(key=lambda x:x.start)

        merge = []
        for interval in intervals:
            if not merge or merge[-1].end < interval.start:
                merge.append(interval)
            else:
                merge[-1].end = max(merge[-1].end,interval.end)
        return merge