Заяц Миша очень любит читать, поэтому на новый год ему подарили n книг. Михаил хочет сложить компактно все подаренные книги в несколько стопок. Заяц считает, что книги сложены в стопки красиво, если в каждой стопке все книги имеют одинаковую высоту. Миша хочет сложить книги в минимальное число стопок так, чтобы книги были сложены красиво. Помогите ему и найдите, как нужно сложить книги в стопки. Формат входных данных В первой строке входных данных дано целое число n — число книг, подаренных Зайцу(1 ≤ n ≤ 105 1 ≤ n ≤ 105). Во второй строке дано n целых чисел x1,…,xn — высоты книг(1≤xi≤ 105 1 ≤ xi ≤ 105). Формат выходных данных В первой строке вывода напечатайте одно число k — минимальное число стопок книг. Во второй строке выведите высоты стопок в порядке не убывания. Примеры данных Пример 1 Ввод 2 1 2 Вывод 2 1 1 Пример 2 Ввод 4 1 2 2 3 Вывод 3 1 1 2 Пример 3 Ввод 5 5 4 4 5 5 Вывод 2 2 3
Михаил хочет сложить компактно все подаренные книги в несколько стопок. Заяц считает, что книги сложены в стопки красиво, если в каждой стопке все книги имеют одинаковую высоту.
Миша хочет сложить книги в минимальное число стопок так, чтобы книги были сложены красиво. Помогите ему и найдите, как нужно сложить книги в стопки.
Формат входных данных
В первой строке входных данных дано целое число n — число книг, подаренных Зайцу(1 ≤ n ≤ 105 1 ≤ n ≤ 105). Во второй строке дано n целых чисел x1,…,xn — высоты книг(1≤xi≤ 105 1 ≤ xi ≤ 105).
Формат выходных данных
В первой строке вывода напечатайте одно число k — минимальное число стопок книг. Во второй строке выведите высоты стопок в порядке не убывания.
Примеры данных
Пример 1
Ввод
2
1 2
Вывод
2
1 1
Пример 2
Ввод
4
1 2 2 3
Вывод
3
1 1 2
Пример 3
Ввод
5
5 4 4 5 5
Вывод
2
2 3