Bạn được cho một bộ bài gồm $n$ lá bài được đánh số từ $1$ đến $n$ (không nhất thiết theo thứ tự này trong bộ bài). Bạn cần sắp xếp bộ bài bằng cách lặp lại thao tác sau đây.
Chọn $2 \le k \le n$ và chia bộ bài thành $k$ phần liên tiếp không rỗng $D_1, D_2, \dots, D_k$ ($D_1$ chứa $|D_1|$ lá bài đầu tiên của bộ bài, $D_2$ chứa $|D_2|$ lá bài tiếp theo, và cứ như vậy). Sau đó, đảo ngược thứ tự của các phần này, biến đổi bộ bài thành $D_k, D_{k-1}, \dots, D_2, D_1$ (nghĩa là $|D_k|$ lá bài đầu tiên của bộ bài mới là $D_k$, $|D_{k-1}|$ lá bài tiếp theo là $D_{k-1}$, và cứ như vậy). Thứ tự bên trong của mỗi nhóm lá bài $D_i$ không thay đổi sau thao tác.
Bạn cần thu được một bộ bài đã sắp xếp (tức là bộ bài có lá bài đầu tiên là $1$, lá bài thứ hai là $2$, v.v.) bằng cách thực hiện tối đa $120$ thao tác. Có thể chứng minh rằng luôn luôn có thể sắp xếp bộ bài bằng cách thực hiện tối đa $120$ thao tác với các giới hạn của bài toán này.
Ví dụ về thao tác: dưới đây là ba ví dụ về các thao tác hợp lệ (trên ba bộ bài với kích thước khác nhau).
- Nếu bộ bài là $[3\ 6\ 2\ 1\ 4\ 5\ 7]$ (với $3$ là lá bài đầu tiên và $7$ là lá bài cuối cùng), chúng ta có thể áp dụng thao tác với $k = 4$ và $D_1 = [3\ 6]$, $D_2 = [2\ 1\ 4]$, $D_3 = [5]$, $D_4 = [7]$. Khi đó, bộ bài trở thành $[7\ 5\ 2\ 1\ 4\ 3\ 6]$.
- Nếu bộ bài là $[3\ 1\ 2]$, chúng ta có thể áp dụng thao tác với $k = 3$ và $D_1 = [3]$, $D_2 = [1]$, $D_3 = [2]$. Khi đó, bộ bài trở thành $[2\ 1\ 3]$.
- Nếu bộ bài là $[5\ 1\ 2\ 4\ 3\ 6]$, chúng ta có thể áp dụng thao tác với $k = 2$ và $D_1 = [5\ 1]$, $D_2 = [2\ 4\ 3\ 6]$. Khi đó, bộ bài trở thành $[2\ 4\ 3\ 6\ 5\ 1]$.
Dữ liệu vào
Dòng đầu tiên của dữ liệu vào chứa một số nguyên $n$ ($1 \le n \le 20\,000$) — số lượng lá bài trong bộ bài. Dòng thứ hai chứa $n$ số nguyên $c_1, c_2, \dots, c_n$ — các lá bài trong bộ bài. Lá bài đầu tiên là $c_1$, lá bài thứ hai là $c_2$, và cứ như vậy.
Đảm bảo rằng với mọi $i \in \{1, \dots, n\}$, tồn tại duy nhất một $j \in \{1, \dots, n\}$ sao cho $c_j = i$.
Dữ liệu ra
Trên dòng đầu tiên, in ra số lượng thao tác $q$ mà bạn thực hiện ($0 \le q \le 120$). Sau đó, in ra $q$ dòng, mỗi dòng mô tả một thao tác. Để mô tả một thao tác, in trên một dòng số nguyên $k$ là số phần bạn chia bộ bài, theo sau là kích thước của $k$ phần đó: $|D_1|, |D_2|, \dots, |D_k|$.
Phải thỏa mãn $2 \le k \le n$, $|D_i| \ge 1$ với mọi $i = 1, \dots, k$, và $|D_1| + |D_2| + \dots + |D_k| = n$.
Có thể chứng minh rằng luôn luôn có thể sắp xếp bộ bài bằng cách thực hiện tối đa $120$ thao tác với các giới hạn của bài toán này. Nếu có nhiều cách để sắp xếp bộ bài, bạn có thể in ra bất kỳ cách nào. Lưu ý rằng bạn không cần phải tối thiểu hóa $q$.
Ví dụ
Ví dụ 1
4 3 1 2 4
2 3 1 2 1 2 1 3
Ví dụ 2
6 6 5 4 3 2 1
1 6 1 1 1 1 1 1
Ví dụ 3
1 1
0