Задача U. Группы адресов
Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 1 с
Ограничение по памяти: 1024 МБ
Технически Bitcoin адрес представляет собой 160-битный хэш от открытого ключа, т.е представленный в HEX-формате, он занимает 20 байтов.
Для пользователя криптовалюты Биткойн адрес биткойн-кошелька представляет собой строку из 33 алфавитно-цифровых символов. Длина такой строки иногда может быть и меньше, но это к делу не относится.
Для того, чтобы набирать адрес кошелька с клавиатуры, адреса представляют в формате Base58. Адрес может содержать все буквенно-цифровые символы латинского алфавита, кроме 0, O, I (i большое), and l (L маленькое) – символов, которые внешне похожи друг на друга.
Пусть алфавит формата Base58 будет: «123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ»
А алфавит HEX-формата: «0123456789abcdef»
Вам даны несколько адресов, представленных в HEX- и Base58 форматах. Требуется определить, содержатся ли среди них одинаковые адреса. Каждую группу номеров (содержащую более одного элемента) одинаковых адресов необходимо вывести в отдельную строку, разделив пробелом и упорядочив их по возрастанию, как внутри строки, так и по возрастанию первых элементов строк. Если кто-то не знаком с кодировкой Base58, приводим код функции для перевода целого числа в кодировку Base58, написанный на Python:

Формат входных данных

В первой строке – число N – количество адресов. N < 10. Далее идут N строк, каждая из которых содержит номер адреса (целое число) и, через пробел, строку адреса либо в виде десятичного числа, либо в HEX-формате, либо в формате Base58. Длина строки адреса – не больше 50 символов

Формат выходных данных

В первой строке – натуральное число N, количество найденных групп. Если все адреса различны – в первую строку поместить число 0. В каждой из следующих N строк – номера одинаковых адресов, разделенные пробелом. Внутри строки номера упорядочены по возрастанию. Сами строки упорядочены по возрастанию первых элементов строк.

Примеры

стандартный вводстандартный вывод
9 1 2 2 22 3 222 4 2222 5 6f 6 2V 7 22222 8 2b67 9 4iz 2 5 6 8 9
6 1 1234567890 2 499602d2 3 10325476989 4 2T6u2h 5 gJqLzk 6 26772476e 2 1 2 4 3 5
2 1 499582d2 2 1234567809 0
3 1 1569275433846670190958947355801916604025588861116008628224 2 3ffffffffffffffffffffff0000000000000000000000000 3 6Qpfh5jFi7HGRMwewhHzFYwq2c1UAXzcE 1 2 3