input: Write a python function to remove duplicates from a list while preserving the order.
  assert remove_duplicates([1, 2, 2, 3, 4, 4, 5]) == [1, 2, 3, 4, 5]
  assert remove_duplicates([5, 5, 5, 5, 5]) == [5]
  assert remove_duplicates([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) == [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  assert remove_duplicates([10, 9, 8, 7, 6, 5, 4, 3, 2, 1]) == [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
output: def remove_duplicates(lst):
      seen = set()
      result = []
      for item in lst:
          if item not in seen:
              seen.add(item)
              result.append(item)
      return result