Solution (source code)

= Solution
{c}

For each symbol $a$, iterate the <permutation> $\sigma$. Since the symbol set is finite, some iterate repeats. Applying an inverse power of $\sigma$ shows that the first return is to $a$ itself, giving
$$
a,\sigma(a),\ldots,\sigma^{k-1}(a),\qquad\sigma^k(a)=a,
$$
with the displayed symbols distinct. This is a <permutation cycle>. If two such lists share a symbol, applying powers of $\sigma$ shows that they contain exactly the same symbols. Hence these <group orbits> form a <partition of a set> $\{1,\ldots,n\}$. On each <group orbit>, $\sigma$ acts as the corresponding <permutation cycle>, and these <disjoint permutation cycles> multiply to $\sigma$.

The <disjoint cycle decomposition> is \b[unique up to reordering the cycles and cyclically rotating the entries within each cycle], with fixed points optionally omitted. Indeed, each cycle must consist of one of the uniquely determined <group orbits>, and its successive entries must follow the action of $\sigma$.