#asaporo2b. [asaporo2_b]Many Swaps Sorting

[asaporo2_b]Many Swaps Sorting

Problem Statement

Snuke has a sequence pp, which is a permutation of (0,1,2,...,N1)(0,1,2, ...,N-1). The ii-th element (00-indexed) in pp is pip_i.

He can perform N1N-1 kinds of operations labeled 1,2,...,N11,2,...,N-1 any number of times in any order. When the operation labeled kk is executed, the procedure represented by the following code will be performed:

for(int i=k;i<N;i++)
    swap(p\[i\],p\[i-k\]);

He would like to sort pp in increasing order using between 00 and 10510^{5} operations (inclusive). Show one such sequence of operations. It can be proved that there always exists such a sequence of operations under the constraints in this problem.

Constraints

  • 2leqNleq2002 \\leq N \\leq 200
  • 0leqpileqN10 \\leq p_i \\leq N-1
  • pp is a permutation of (0,1,2,...,N1)(0,1,2,...,N-1).

Partial Scores

  • In the test set worth 300300 points, Nleq7N \\leq 7.
  • In the test set worth another 400400 points, Nleq30N \\leq 30.

Input

Input is given from Standard Input in the following format:

NN p0p_0 p1p_1 ...... pN1p_{N-1}

Output

Let mm be the number of operations in your solution. In the first line, print mm. In the ii-th of the following mm lines, print the label of the ii-th executed operation. The solution will be accepted if mm is at most 10510^5 and pp is in increasing order after the execution of the mm operations.


Sample Input 1

5
4 2 0 1 3

Sample Output 1

4
2
3
1
2
  • Each operation changes pp as shown below:

9f3b51eb1fe742848f407bdeb7b772e1.png


Sample Input 2

9
1 0 4 3 5 6 2 8 7

Sample Output 2

11
3
6
1
3
5
2
4
7
8
6
3