combination and permutation using recursion