//import java.util.Scanner;
//import java.util.TreeMap;
//import java.util.Set;
//import java.util.*;
import java.util.TreeMap;
import java.util.Iterator;
//import java.util.Arrays;
//import java.util.ArrayList;
public class jarjestys2 {
public static void main (String[] args) {
//Jarjestys();
IO io = new IO();
// Scanner scanner = new Scanner(System.in);
// int a = scanner.nextInt();
int a = io.nextInt();//scanner.nextInt();
//int y;
int[] nums = new int[a];
int[] turns = new int[a];
for (int j = 0; j < a; j++) {
nums[j] = io.nextInt();//scanner.nextInt();
turns[j] = j+1;
}
//System.out.println(a*4);
io.println(a*4);
for (int i = 0; i < a; i++) {
for (int j = i; j < a; j++) {//optim
if (nums[i] > nums[j]) {
turns[j]--;
//System.out.println("J: " + j);
//System.out.println(turns[j]);
}
}
}
//create map from nums -> turns
//sort based on nums
//print largest num 1.
//print turns[indexof(largestnum)]
//print curr arr length
//curr arr length--
//print arr length
//print posoflargestnum (index)
TreeMap tm = new TreeMap(Collections.reverseOrder());
for (int i = 0; i < nums.length; i++) {
tm.put(nums[i], turns[i]);
}
Set set = tm.entrySet();
Iterator i = set.iterator();
// Display elements
while(i.hasNext()) {
Map.Entry me = (Map.Entry)i.next();
int temp = (int) me.getValue();
//System.out.println("Keyvalue: " + me.getKey());
//System.out.print(temp + " ");
//System.out.print(a-- + " ");
//System.out.print(a + " ");
//System.out.print(temp - 1 + " ");
io.print(temp + " " a-- + " " + a + temp - 1 + " ");
/*
io.print(a-- + " ");
io.print(a + " ");
io.print(temp - 1 + " ");
*/
}
}
}