Условие
Дана последовательность целых чисел. С помощью std::map<int, int> подсчитайте количество появлений каждого значения. Выведите различные значения в порядке возрастания вместе с их частотами. Массив счётчиков, сортировка исходных данных и другие ассоциативные контейнеры вместо std::map не допускаются.
Ограничения
Время: 2 секунды. Память: 64 МиБ. Вывод: до 2 МиБ. Язык: C++17.
Входные данные
В первой строке вводится N. Во второй — N целых чисел. Ограничения: 1 ≤ N ≤ 100000, −10⁹ ≤ value ≤ 10⁹.
Выходные данные
В первой строке выведите количество различных значений. Затем для каждого значения в порядке возрастания выведите отдельную строку: значение и количество его появлений через пробел.
Примеры
7 3 -1 3 2 -1 3 0
4 -1 2 0 1 2 1 3 3
4 5 5 5 5
1 5 4
3 1000000000 -1000000000 0
3 -1000000000 1 0 1 1000000000 1