Martin 刚刚被一家大公司聘为系统管理员。自 20 世纪 80 年代以来,该公司一直没有更换其身份验证系统。每个人都有一个四位数的个人识别码(PIN)。没有人使用用户名或密码,只需输入 PIN 即可登录。随着公司的发展,他们增加了使用字母的可能性,但 PIN 的长度保持不变。
Martin 对这种情况感到不满。假设有些人的 PIN 仅在一个位置上有所不同,例如 61ab 和 62ab。如果第一个人不小心把 1 按成了 2,系统仍然会允许他登录。Martin 想要对当前使用的 PIN 进行统计,特别是计算在 1、2、3 或 4 个位置上不同的 PIN 对的数量。他希望这些数字足够令人警醒,以说服他的老板投资一个更好的系统。
给定 PIN 列表和整数 $D$,求在恰好 $D$ 个位置上不同的 PIN 对的数量。
输入格式
输入的第一行包含两个空格分隔的正整数 $N$ 和 $D$,其中 $N$ 是 PIN 的数量,$D$ 是选定的不同位置数。接下来的 $N$ 行,每行包含一个 PIN。
输出格式
输出单行,包含一个整数:在恰好 $D$ 个位置上不同的 PIN 对的数量。
数据范围
- 你可以认为在所有测试用例中,$2 \le N \le 50\,000$ 且 $1 \le D \le 4$。
- 每个 PIN 的长度为 4,每个字符要么是数字,要么是 'a' 到 'z' 之间的英文小写字母(包含边界)。
- 你可以认为输入中的所有 PIN 都是互不相同的。
- 在价值 15 分的测试用例中,$N \le 2000$。
- 在价值 60 分的测试用例中,$D \le 2$。其中,在价值 30 分的测试用例中,$D = 1$。
- 在价值 75 分的测试用例中,每个 PIN 仅由数字或 'a' 到 'f' 之间的英文小写字母(包含边界)组成。因此,它们可以被视为十六进制数。
样例
输入样例 1
4 1 0000 a010 0202 a0e2
输出样例 1
0
说明 1
对于这些 PIN,任意两对 PIN 之间不同的位置数都大于 1。
输入样例 2
4 2 0000 a010 0202 a0e2
输出样例 2
3
说明 2
有三对 PIN 恰好在 2 个位置上不同:(0000, a010)、(0000, 0202) 和 (a010, a0e2)。