add basic algorithms for permutations and combinations