permutations
some rust code