В компании ZZZ Inc. произошло ЧП — её секретные разработки стали известны конкурентам!
Конечно, в первую очередь подозрение пало на сотрудников самой компании, и системному администратору
Жучкову дали задание — узнать, кто из сотрудников скачивал с сервера секретную информацию в течение последней недели.
Жучков просмотрел логи и нашёл личный номер и пин-код этого сотрудника. Администратор
доложил об этом начальству, и в тот же вечер сотрудник пропал без вести, а Жучков получил премию.
Однако вскоре выяснилось, что Жучков перепутал некоторые символы в личном номере и пин-коде, и в результате пострадал
невинный человек! Чтобы в будущем не допускать столь досадных оплошностей, Жучков решил найти пары сотрудников с
похожими номерами и проверить, насколько похожи их пин-коды.
Жучков считает два личных номера похожими, если один номер можно получить из другого вставкой, удалением
или заменой одной цифры. При этом в записи личного номера не может быть ведущих нулей.
В компании ZZZ Inc. сотрудники нумеруются последовательными целыми числами, начиная с единицы, а пин-коды всех сотрудников представляют собой строку из
четырёх шестнадцатеричных цифр. Для каждой пары сотрудников с похожими номерами Жучков хочет вычислить количество позиций,
в которых различаются их пин-коды. Помогите ему в этом.
Исходные данные
В первой строке записано целое число n (2 ≤ n ≤ 65536) — количество сотрудников ZZZ Inc.
В i-й из следующих n строк записан пин-код сотрудника с личным номером i. Для записи пин-кода используются цифры и строчные
латинские буквы. Пин-коды всех сотрудников различны.
Результат
Выведите через пробел четыре целых числа. i-е число должно равняться количеству пар сотрудников с похожими номерами,
пин-коды которых различаются в i позициях.
Пример
исходные данные | результат |
---|
3
dead
beef
f00d
| 0 0 2 1
|
Автор задачи: Даниил Айзенштейн
Источник задачи: XIV Открытый командный чемпионат УрГУ по программированию