input: 
  def merge_sort(A, B):
      """Merge two sorted lists A and B into a single sorted list.
      Compare the first elements of both lists and add the smaller one to the result list,
      then move the pointer to the next element in the corresponding list. Continue this process
      until one of the lists is exhausted. Finally, add the remaining elements of the non-exhausted list 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
  
output:     return result