Задача №1231. D++

Мальчик Кирилл недавно придумал свой язык программирования. Он назвал его D++.

В D++ существует только один массив и 26 переменных. Переменные называются маленькими латинскими буквами от a до z. Есть 4 различных варианта операции присваивания (здесь и далее переменная — это маленькая латинская буква, задающая имя переменной, а индекс — натуральное число, задающее индекс элемента в массиве):

переменная1 <- переменная2

Значение переменной переменная1 становится равным значению переменной переменная2;

переменная <- индекс

Значение переменной переменная становится равным значению элемента массива с индексом индекс;

индекс <- переменная

Значение элемента массива с индексом индекс становится равным значению переменной переменная;

индекс1 <- индекс2

Значение элемента массива с индексом индекс1 становится равным значению элемента массива с индексом индекс2.

Других операций в языке D++ нет. В одной строке программы на D++ может быть записана только одна операция. В программе не может быть пустых строк, но могут быть незначащие пробелы.

Дана последовательность из N натуральных чисел. Все числа различны и не превосходят N. Будем считать, что эта последовательность записана в массиве языка D++ начиная с элемента с номером 1. Требуется написать программу на D++, которая упорядочит массив за наименьшее количество операций.

После выполнения программы последовательность также должна быть записана в массиве начиная с элемента с номером 1. Программа не должна использовать элементы массива с номерами меньше 1, а также с номерами больше N.

Входные данные

В первой строке входного файла содержится единственное число N (1N10000). Во второй строке содержится N натуральных чисел — последовательность, записанная в массиве.

Выходные данные

Выходной файл должен содержать программу на D++, которая сортирует данную последовательность, выполняя наименьшее число операций присваивания.

Примеры
Входные данные
2
2 1
Выходные данные
3
Сдать: для сдачи задач необходимо войти в систему