input: 
  def merge_sort(A, B):
      """ Merge two sorted lists A and B by comparing their first elements.
      If the first element of A is greater than the first element of B, 
      add the first element of B to the result list and move the pointer 
      to the next element in B. If the first element of A is smaller, move 
      the pointer in A to the next element. Continue this until all elements 
      from both lists are added to the result.
      
      >>> merge_sort([3, 6, 8, 10, 11], [2, 5, 7, 12])
      [2, 3, 5, 6, 7, 8, 10, 11, 12]
      """
      result = [] 
      i, j = 0, 0
      
      # Compare elements and add lower one to result
      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
      
      # Add remaining elements
      result += A[i:]
      result += B[j:]
      
      return result
  
  # Test the algorithm
  A = [3, 6, 8, 10, 11]
  B = [2, 5, 7, 12]
  
  print(merge_sort(A, B))
  # Output: [2, 3, 5, 6, 7, 8, 10, 11, 12]
  
output:     
      result = [] 
      i, j = 0, 0
      
      # Compare elements and add lower one to result
      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
      
      # Add remaining elements
      result += A[i:]
      result += B[j:]
      
      return result
  