refactoring
add permutation
refactoring permutation.c