你正在组织一场程序设计竞赛,并决定为每道题的第一个解出者颁发一个该题字母形状的气球。例如,假设竞赛中有 23 道题,编号从 A 到 W。Wossa Motta 大学的队员们希望成为 M、U 和 W 题的首位解出者,这样他们就能在编程工作台上方展示他们学校的首字母缩写。事实上,许多队伍都有同样的想法:尝试成为拼出他们学校缩写的那些题目的首位解出者。Wossa Motta 大学和 Spittinyer 学院都有可能实现这一目标,但如果 Muddinyer 学院在他们之前解出了 M 和 I 题,那么这两所学校都无法实现目标(我们假设任何题目的首位解出者都不会出现并列情况)。另一方面,如果 Wossa Motta 大学或 Spittinyer 学院先解出了 M 或 I 题,那么 Muddinyer 学院也无法实现目标。像 Toe Tac Tech 这样的学校无论如何都无法成功,因为一个队伍对于任何题目最多只能获得一个字母气球。而 Xerxes 学院也无法成功,因为本例中没有 X 题。
你一直在思考——在竞赛结束时,最多能有多少支队伍能够自豪地用“首位解出者”气球展示他们学校的首字母缩写?
NightCafe
输入格式
输入的第一行包含两个整数 $p$ 和 $t$,其中 $p$ ($1 \le p \le 26$) 是竞赛中的题目数量,$t$ ($1 \le t \le 20$) 是队伍数量。题目按字母表的前 $p$ 个字母进行编号。接下来的 $t$ 行,每行包含一个非空字符串,由最多 80 个大写字母组成,描述一所学校的首字母缩写。每个学校只有一支队伍,但多所学校可能有相同的缩写。
输出格式
输出一个整数,表示能够成为其学校名称首字母缩写中所有题目的首位解出者的队伍的最大数量。
样例
输入 1
23 5 WMU SI MI TTT XT
输出 1
2
输入 2
6 6 ABC BDE ABE BF BF CEF
输出 2
1