input: Write a function to implement a merge sort algorithm for two sorted lists, A and B. The function should compare the first elements of both lists, add the smaller element to the result list, and then move the pointer to the next element in the list from which the element was taken. This process should continue until all elements from both lists are added to the result list. The resulting list should be a sorted combination of both input lists.
  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([], [2, 4, 6])==[2, 4, 6]
  assert merge_sort([3, 6, 8], [])==[3, 6, 8]
  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.extend(A[i:])
      result.extend(B[j:])
      return result