input: Write a function to merge two sorted lists, A and B, into one sorted list. The function should compare the current elements of both lists and insert the smaller one into the result list. It should then move the pointer to the next element in the list from which the smaller element was taken, and continue comparing until all elements from both lists are added to the result list. The merged list should be sorted in non-decreasing order.
  
  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([5, 7, 9], [1, 3, 8])==[1, 3, 5, 7, 8, 9]
  assert merge_sort([1, 2, 3], [])==[1, 2, 3]
  assert merge_sort([], [4, 5, 6])==[4, 5, 6]
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