input: Write a function to merge two lists of integers into one sorted list without using the in-built sort function. If both input lists are empty, return an empty list.
  
  def merge_sort(list1, list2): 
      merged_list = [] 
      i = 0 
      j = 0 
      while i < len(list1) and j < len(list2): 
          if list1[i] < list2[j]: 
              merged_list.append(list1[i]) 
              i += 1 
          else: 
              merged_list.append(list2[j]) 
              j += 1 
      while i < len(list1): 
          merged_list.append(list1[i]) 
          i += 1 
      while j < len(list2): 
          merged_list.append(list2[j]) 
          j += 1 
      return merged_list 
      
  assert merge_sort([3, 5, 9, 1, 8], [4, 11, 7, 2]) == [1, 2, 3, 4, 5, 7, 8, 9, 11] 
  assert merge_sort([], []) == [] 
  assert merge_sort([1], []) == [1] 
  assert merge_sort([], [1]) == [1] 
  assert merge_sort([1, 3], [2, 4]) == [1, 2, 3, 4]
output: def merge_sort(list1, list2): 
      merged_list = [] 
      i = 0 
      j = 0 
      while i < len(list1) and j < len(list2): 
          if list1[i] < list2[j]: 
              merged_list.append(list1[i]) 
              i += 1 
          else: 
              merged_list.append(list2[j]) 
              j += 1 
      while i < len(list1): 
          merged_list.append(list1[i]) 
          i += 1 
      while j < len(list2): 
          merged_list.append(list2[j]) 
          j += 1 
      return merged_list