cps factorial
merge