input: Write a function to merge two sorted lists A and B into a single sorted list by comparing the first elements of both lists and adding the smaller one to the result list. The comparison should continue until all elements from both lists are added to the result list.
  
  
  def merge_sort(A, B):
      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
  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([], [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