$1$ から $n$ までの番号が振られた $n$ 枚のカードからなるデッキが与えられます(デッキ内の順序は必ずしも昇順ではありません)。以下の操作を繰り返すことで、デッキをソートする必要があります。
$2 \le k \le n$ を選び、デッキを $k$ 個の空でない連続する部分 $D_1, D_2, \dots, D_k$ に分割します($D_1$ はデッキの最初の $|D_1|$ 枚のカードを含み、$D_2$ は続く $|D_2|$ 枚のカードを含む、といった具合です)。次に、これらの部分の順序を反転させ、デッキを $D_k, D_{k-1}, \dots, D_2, D_1$ に変換します(つまり、新しいデッキの最初の $|D_k|$ 枚は $D_k$ となり、続く $|D_{k-1}|$ 枚は $D_{k-1}$ となります)。各カードの塊 $D_i$ 内の内部的な順序は、この操作によって変化しません。
最大 $120$ 回の操作を行い、ソートされたデッキ(最初のカードが $1$、2番目のカードが $2$、……となるデッキ)を得る必要があります。この問題の制約下において、最大 $120$ 回の操作でデッキをソートすることは常に可能であることが証明できます。
操作の例:以下は、異なるサイズの3つのデッキに対する有効な操作の例です。
- デッキが $[3\ 6\ 2\ 1\ 4\ 5\ 7]$ ($3$ が最初のカード、$7$ が最後のカード)である場合、$k=4$ とし、$D_1=[3\ 6], D_2=[2\ 1\ 4], D_3=[5], D_4=[7]$ と分割する操作を適用できます。これにより、デッキは $[7\ 5\ 2\ 1\ 4\ 3\ 6]$ となります。
- デッキが $[3\ 1\ 2]$ である場合、$k=3$ とし、$D_1=[3], D_2=[1], D_3=[2]$ と分割する操作を適用できます。これにより、デッキは $[2\ 1\ 3]$ となります。
- デッキが $[5\ 1\ 2\ 4\ 3\ 6]$ である場合、$k=2$ とし、$D_1=[5\ 1], D_2=[2\ 4\ 3\ 6]$ と分割する操作を適用できます。これにより、デッキは $[2\ 4\ 3\ 6\ 5\ 1]$ となります。
入力
入力の1行目には、デッキ内のカードの枚数を表す整数 $n$ ($1 \le n \le 20\,000$) が含まれます。 2行目には、$n$ 個の整数 $c_1, c_2, \dots, c_n$ が含まれます。これらはデッキ内のカードであり、最初のカードが $c_1$、2番目のカードが $c_2$ となります。 すべての $i \in \{1, \dots, n\}$ に対して、$c_j = i$ となる $j \in \{1, \dots, n\}$ がちょうど1つ存在することが保証されます。
出力
1行目に、実行する操作の回数 $q$ ($0 \le q \le 120$ を満たす必要がある) を出力してください。 続いて、$q$ 行にわたり、各操作の内容を出力してください。 操作を記述するには、1行にデッキを分割する部分の数 $k$ を出力し、続いて $k$ 個の部分のサイズ $|D_1|, |D_2|, \dots, |D_k|$ を出力してください。 $2 \le k \le n$、すべての $i \in \{1, \dots, k\}$ に対して $|D_i| \ge 1$、かつ $|D_1| + |D_2| + \dots + |D_k| = n$ を満たす必要があります。
この問題の制約下において、最大 $120$ 回の操作でデッキをソートすることは常に可能であることが証明できます。デッキをソートする方法が複数ある場合は、そのうちのどれを出力しても構いません。 $q$ を最小化する必要はないことに注意してください。
入出力例
入出力例 1
4 3 1 2 4
2 3 1 2 1 2 1 3
入出力例 2
6 6 5 4 3 2 1
1 6 1 1 1 1 1 1
入出力例 3
1 1
0