C. Новогодние снеговики
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
стандартный ввод
вывод
стандартный вывод

Пока хозяйственный Геральд накрывает стол и никогда не дающий скучать друзьям Александр отправляет открытки, Сергей лепит снеговиков. Каждый снеговик должен состоять из трех комов — большого, среднего и маленького. Сергею помогают его двойники: они уже слепили n снежных комов, которые представляют собой шары с радиусами r1, r2, ..., rn. Снеговика можно слепить из любых трех комов, радиусы которых попарно различны. Например, из комов с радиусами 1, 2 и 3 можно слепить снеговика, а 2, 2, 3 или 2, 2, 2 — нельзя. Помогите Сергею и его двойникам определить, какое наибольшее количество снеговиков они смогут слепить из своих комов.

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

В первой строке задано целое число n (1 ≤ n ≤ 105) — количество комов. В следующей строке заданы n целых чисел — радиусы комов r1, r2, ..., rn (1 ≤ ri ≤ 109). Радиусы комов могут совпадать.

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

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

Примеры
Входные данные
7
1 2 3 4 5 6 7
Выходные данные
2
3 2 1
6 5 4
Входные данные
3
2 2 3
Выходные данные
0