input: Write a python function to find the intersection of two lists.
  assert find_intersection([1, 2, 3], [3, 4, 5]) == [3]
  assert find_intersection([10, 20, 30], [30, 40, 50]) == [30]
  assert find_intersection([1, 2, 2, 3], [2, 2, 4]) == [2, 2]
output: def find_intersection(list1, list2):
      from collections import Counter
      count1 = Counter(list1)
      count2 = Counter(list2)
      intersection = []
      for element in count1:
          if element in count2:
              intersection.extend([element] * min(count1[element], count2[element]))
      return intersection