Barnaby Nickelsworth III is a peculiar fellow with an even more peculiar hobby: he insists on calling all his friends by nicknames. However, Barnaby's definition of a nickname is quite specific, he only uses prefixes of their actual names.
For instance, his friend Roberto can be called Rob, Robe, Rober, Robert, or even the full Roberto. Barnaby finds endless amusement in cycling through all possible prefix-nicknames for each friend.
However, Barnaby believes that overly short nicknames lose their charm. Calling someone just "R" feels lazy and uninspired. Therefore, he has established a rule: **valid nickname must have a length of at least K characters.
Recently, Barnaby discovered a troubling issue. Some of his friends share common prefixes! For example, among Francisco, Franz, and Frank, all three share the prefix Fran. This means Barnaby might accidentally call out "Fran!" and have multiple friends respond, an unacceptable social catastrophe.
Being the dramatic person he is, Barnaby has decided to end friendships until every valid nickname (prefix of length at least K) belongs to exactly one remaining friend. No two remaining friends should share any prefix of length $$$\geq K$$$.
Help Barnaby determine the maximum number of friends he can keep while satisfying his obsessive nickname uniqueness requirement.
The first line contains two integers N and K $$$(1 \leq N \leq 10^5, 1 \leq K \leq 10^2)$$$, the number of Barnaby's friends and the minimum valid nickname length.
Each of the next N lines contains a single string $$$s_i$$$ consisting of lowercase English letters, the name of the i-th friend with $$$k \leq |s_i|$$$ .
The total length of all names does not exceed $$$10^6$$$.
Print a single integer, the maximum number of friends Barnaby can keep such that all valid nicknames are unique.
5 4robertofranciscofranzfrankalice
3
3 2ababcba
2
| Name |
|---|


