Heap's permutation