1412 - F**king string!

Time Limit: 1s Memory Limit: 128MB

Submissions: 237 Solved: 55
Description

xiaoY is a cute boy, he is addicted in the English words. Today he invents a game called "Finding the best common K”. Here is the way how the game works:

First, xiaoY lists N words he wants to play with:

canadian

canceled

so-nice (the phrase, We ensure that the words in the phrase will be connected by a '-')

Then, xiaoY gives a misspell word. Your task is to minimize K such that every word’s first K letters have at least a D-consecutive common part with the misspell word. (D-consecutive common part means a consecutive common part whose length is D).

Just like the case:

Misspell word:  canice D=3

As you see,       Common ("canadi", canice) = "can" >=3;   //first 6 letter of canadian!

  Common ("cancel", canice) = "can" >=3;

  Common ("so-nic", canice) ="nic">=3;

So the minimum K that satisfies this case is 6!

If you can't find K that satisfies the rules, then just output "-1"!

Input

Mutiple cases.

N (0<N<=10)  D (0<D<=100 )

N words followed (0<each word's length<=100)

Misspell word (0<length<=100)

0 0 indicates the end.

Output

The minimum K or -1

Sample Input
3 3
canadian
canceled
so-nice
canice
0 0
Sample Output
6
Hint
Source
He Jian, HUST Campus 2010, Preliminary