Матрёшки
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
matrioshkas.in
вывод
matrioshkas.out

Склад завода по изготовлению матрёшек переполнен! Нужно как-то освобождать место, поэтому директор завода принял волевое решение продать абсолютно всё, что там лежит. Больше всего места на складе занимают заготовки для матрёшек — нераскрашенные статуэтки целых положительных размеров, которые можно вставлять друг в друга. Увы, в таком неприглядном виде покупать их никто не хочет.

К счастью, завод сотрудничает с союзом художников по матрёшкам. В частности, был заключён договор, позволяющий заводу заказывать роспись матрёшек. В договоре указано, что матрёшка — это упорядоченный набор из M статуэток (1 ≤ M) размеров a1, a2, ..., aM, где a1 + 1 = a2, a2 + 1 = a3, ..., aM - 1 + 1 = aM. Там же прописано, что стоимость раскрашивания одной матрёшки равна одному тугрику, при этом количество статуэток, входящих в матрёшку, значения не имеет.

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

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

В первой строке входного файла содержится число N — количество заготовок на складе (1 ≤ N ≤ 2·105). Во второй строке содержатся N целых чисел s1, s2, ..., sN, где si — это размер i-й заготовки (1 ≤ si ≤ 2·105).

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

В первой строке выходного файла выведите целое число T — минимальное количество тугриков, которое нужно заплатить художникам.

В следующих T строках выведите описания матрёшек, которые завод закажет у союза художников. Описание матрёшки состоит из строки, содержащей два разделённых пробелом числа, где первое число — размер самой маленькой статуэтки в матрёшке, а второе число — размер самой большой статуэтки в матрёшке.

Примеры тестов

Входные данные
5
3 2 1 2 5
Выходные данные
3
2 2
1 3
5 5