permute fixed, swap, reverse