G - Wildcards Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 6

問題文

S を英小文字のみからなる文字列、T を英小文字および ? のみからなる文字列とします。
T に含まれる ? をそれぞれ適切な英小文字 1 つで置き換えることで、TS に一致させることができるとき、「 ST から作れる」と言います。

例えば、a??d からは abcdaddd を作れますが bcdd を作ることはできません。

英小文字のみからなる N 個の文字列 S_1, S_2, \ldots, S_N が入力として与えられます。
これらの長さはすべて L です。すなわち、|S_1| = |S_2| = \cdots = |S_N| = L です。

文字列 T として、英小文字および ? からなる長さ L の文字列であって ? をちょうど K 個含むものを任意に選びます。
S_1, S_2, \ldots, S_N のうち、T から作れるものの個数」としてありえる最大値を出力してください。

制約

  • 1 \leq N \leq 1000
  • 1 \leq L \leq 10
  • 0 \leq K \leq L
  • N, L, K は整数
  • S_1, S_2, \ldots, S_N はそれぞれ英小文字のみからなる長さ L の文字列
  • S_1, S_2, \ldots, S_N は相異なる。

入力

入力は以下の形式で標準入力から与えられる。

N L K
S_1
S_2
\vdots
S_N

出力

答えを出力せよ。


入力例 1

5 4 2
aabc
bbaa
abbc
cccc
acba

出力例 1

3

T = a?b? とすると、S_1 = aabc, S_3 = abbc, S_5 = acba3 つを T から作れます。 このとき「 S_1, S_2, \ldots, S_N のうち、T から作れるものの個数」は 3 であり、これがあり得る最大値となります。 K = 2 より、T? をちょうど 2 個含むように選ばれなければならないことに注意してください。


入力例 2

5 4 4
aabc
bbaa
abbc
cccc
acba

出力例 2

5

T = ???? とすると、S_1, S_2, S_3, S_4, S_5 のすべてを作れます。


入力例 3

5 4 0
aabc
bbaa
abbc
cccc
acba

出力例 3

1

Score : 6 points

Problem Statement

Let S be a string consisting of lowercase English letters and T be a string consisting of lowercase English letters and ?.
S is said to be obtainable from T when one can replace each occurrence of ? in T with some lowercase English letter so that T equals S.

For example, abcd and addd are obtainable from a??d, while bcdd is not.

You are given N strings S_1, S_2, \ldots, S_N consisting of lowercase English letters.
All of these strings have a length of L: |S_1| = |S_2| = \cdots = |S_N| = L.

A string T of length L consisting of lowercase English letters is arbitrarily chosen so that it contains exactly K ?s.
Find the maximum possible number of strings among S_1, S_2, \ldots, S_N that are obtainable from T.

Constraints

  • 1 \leq N \leq 1000
  • 1 \leq L \leq 10
  • 0 \leq K \leq L
  • N, L, and K are integers.
  • Each of S_1, S_2, \ldots, S_N is a string of length L consisting of lowercase English letters.
  • S_1, S_2, \ldots, S_N are distinct.

Input

Input is given from Standard Input in the following format:

N L K
S_1
S_2
\vdots
S_N

Output

Print the answer.


Sample Input 1

5 4 2
aabc
bbaa
abbc
cccc
acba

Sample Output 1

3

If we let T = a?b?, then S_1 = aabc, S_3 = abbc, and S_5 = acba are obtainable from T. Here, three of the strings S_1, S_2, \ldots, S_N are obtainable from T, which is the maximum possible number. Note that K = 2, so T must be chosen to contain exactly two ?s.


Sample Input 2

5 4 4
aabc
bbaa
abbc
cccc
acba

Sample Output 2

5

If we let T = ????, all of S_1, S_2, S_3, S_4, S_5 are obtainable from T.


Sample Input 3

5 4 0
aabc
bbaa
abbc
cccc
acba

Sample Output 3

1