permutation and subsets