  We revisit the problem of permuting an array of length $n$ according to a
given permutation in place, that is, using only a small number of bits of extra
storage. Fich, Munro and Poblete [FOCS 1990, SICOMP 1995] obtained an elegant
$\mathcal{O}(n\log n)$-time algorithm using only $\mathcal{O}(\log^{2}n)$ bits
of extra space for this basic problem by designing a procedure that scans the
permutation and outputs exactly one element from each of its cycles. However,
in the strict sense in place should be understood as using only an
asymptotically optimal $\mathcal{O}(\log n)$ bits of extra space, or storing a
constant number of indices. The problem of permuting in this version is, in
fact, a well-known interview question, with the expected solution being a
quadratic-time algorithm. Surprisingly, no faster algorithm seems to be known
in the literature.
  Our first contribution is a strictly in-place generalisation of the method of
Fich et al. that works in $\mathcal{O}_{\varepsilon}(n^{1+\varepsilon})$ time,
for any $\varepsilon > 0$. Then, we build on this generalisation to obtain a
strictly in-place algorithm for inverting a given permutation on $n$ elements
working in the same complexity. This is a significant improvement on a recent
result of Gu\'spiel [arXiv 2019], who designed an $\mathcal{O}(n^{1.5})$-time
algorithm.
