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 of the corresponding list. If one list is exhausted, the remaining elements of the other list should be added to the result list. Return the merged sorted list as the 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
  
  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
  