input: Write a function to merge two sorted lists A and B into a single sorted list. The function should compare the elements of the two lists and add the smaller element to the result list, then move the pointer to the next element in the list from which the smaller element was taken. This process should continue until all elements from both lists are added to the result list.
  
  def merge_sort(A, B):
   result = [] 
   i, j = 0, 0
  
   while i < len(A) and j < len(B):
   if A[i] < B[j]:
   result.append(A[i])
   i += 1
   else:
   result.append(B[j])
   j += 1
  
   result += A[i:]
   result += B[j:]
  
   return result
  
  assert merge_sort([3, 6, 8, 10, 11], [2, 5, 7, 12]) == [2, 3, 5, 6, 7, 8, 10, 11, 12]
  assert merge_sort([1, 3, 5], [2, 4, 6]) == [1, 2, 3, 4, 5, 6]
  assert merge_sort([10], [5]) == [5, 10]
  assert merge_sort([], [1, 2, 3]) == [1, 2, 3]
  assert merge_sort([1, 2, 3], []) == [1, 2, 3]
  assert merge_sort([], []) == []
output: def merge_sort(A, B):
      result = [] 
      i, j = 0, 0
  
      while i < len(A) and j < len(B):
          if A[i] < B[j]:
              result.append(A[i])
              i += 1
          else:
              result.append(B[j])
              j += 1
  
      result += A[i:]
      result += B[j:]
  
      return result