ПИН
Мартин недавно начал работать системным администратором в крупной компании. Система авторизации в компании не обновлялась с 1980-х годов. Каждый сотрудник имеет четырехзначный персональный идентификационный номер (PIN). Для входа в систему не требуются имена пользователей или пароли — достаточно ввести свой PIN. С ростом компании появилась возможность использовать буквы, но длина PIN осталась неизменной.
Мартин обеспокоен текущей ситуацией. Например, если у двух человек PIN отличаются только в одной позиции, как в случае с 61ab и 62ab, то если первый человек случайно нажмет 2 вместо 1, система все равно его пропустит. Мартин хочет собрать статистику по используемым PIN, а именно, подсчитать количество пар PIN, которые отличаются в 1, 2, 3 или 4 позициях. Он надеется, что эти данные помогут убедить руководство инвестировать в более надежную систему.
Вам дан список PIN и целое число D. Необходимо определить количество пар PIN, которые отличаются ровно в D позициях.
Входные данные
Первая строка входных данных содержит два положительных целых числа N и D, разделенных пробелом, где N — количество PIN, а D — заданное количество различий. Каждая из следующих N строк содержит один PIN.
Ограничения
Предполагается, что во всех тестовых случаях 2 ≤ N ≤ 50000 и 1 ≤ D ≤ 4.
Каждый PIN имеет длину 4, и каждый символ может быть либо цифрой, либо строчной буквой от 'a' до 'z', включительно. Все PIN во входных данных уникальны.
В тестах на 15 баллов, N ≤ 2000.
В тестах на 60 баллов, D ≤ 2. Из них в тестах на 30 баллов, D = 1.
В тестах на 75 баллов, каждый PIN состоит только из цифр или строчных букв от 'a' до 'f', включительно, и может рассматриваться как шестнадцатеричное число.
Выходные данные
Выведите одно число — количество пар PIN, которые отличаются ровно в D позициях.