本题译自 eJOI2018 Problem F. Cycle Sort
给定一个长为 $n$ 的数列 ${a_i}$ ,你可以多次进行如下操作:
选定 $k$ 个不同的下标 $i_1, i_2, \cdots, i_k$(其中 $1 \le i_j \le n$),然后将 $a_{i_1}$ 移动到下标 $i_2$ 处,将 $a_{i_2}$ 移动到下标 $i_3$ 处,……,将 $a_{i_{k-1}}$ 移动到下标 $i_{k}$ 处,将 $a_{i_k}$ 移动到下标 $i_1$ 处。
换言之,你可以按照如下的顺序轮换元素:$i_1 \rightarrow i_2 \rightarrow i_3 \rightarrow \cdots \rightarrow i_{k-1} \rightarrow i_k \rightarrow i_1$。
例如:$n=4, {a_i}={ 10, 20, 30, 40}, i_1=2, i_2=3, i_3=4$ ,则操作完成后的 $a$ 数列变为 ${ 10, 40, 20, 30}$。
你的任务是用操作次数最少的方法将整个数列排序成不降的。注意,所有操作中选定下标的个数总和不得超过 $s$ 。如果不存在这样的方法(无解),输出 $\texttt{-1}$。