linklist merge sort
permutation, combination