dan4: mergesort, stack, queue