Склад завода по изготовлению матрёшек переполнен! Нужно как-то освобождать место, поэтому директор завода принял волевое решение продать абсолютно всё, что там лежит. Больше всего места на складе занимают заготовки для матрёшек — нераскрашенные статуэтки целых положительных размеров, которые можно вставлять друг в друга. Увы, в таком неприглядном виде покупать их никто не хочет.
К счастью, завод сотрудничает с союзом художников по матрёшкам. В частности, был заключён договор, позволяющий заводу заказывать роспись матрёшек. В договоре указано, что матрёшка — это упорядоченный набор из 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