A - Palabras prohibidas

Languages: C, C++, Java, Haskell, Pascal, Python, JavaScript, Tiger, C#
Time & Memory limits: (details)

El tabú es un juego, en el que un jugador debe describir un concepto sin usar ninguna palabra de una lista. Si el equipo es capaz de adivinar el concepto ganan un punto. Si el jugador no puede describir el concepto o menciona una de las palabras de la lista entonces pierden el punto.

Fito está implementando un juego con una dinámica similar. Al inicio se crea una lista con $N$ palabras que se consideran tabú. Después se debe crear un texto que no contenga ninguna palabra de la lista. Para comprobar las ocurrencias se eliminan del texto los espacios y los signos de puntuación. Con este paso hacemos el juego un poco más difícil porque no permitimos que el fin de una palabra y el comienzo de la que le sigue en el texto, formen una de las palabras prohibidas.

Lo primero que quiere hacer Fito es encontrar, un texto con $L$ letras que no contenga ninguna de las palabras como substring. De todos los posibles textos Fito quiere el menor en orden lexicográfico, aunque es posible que no tenga ningún significado.

Input

La primera línea de la entrada contiene dos enteros $N (1 \leq N \leq 600)$ y $L (1 \leq L \leq 500)$ que indican la cantidad de palabras prohibidas y la longitud del texto buscado respectivamente. Le siguen las $N$ palabras en líneas separadas $(1 \leq |P_i | \leq 10)$. Las palabras y el texto que se debe formar están compuestos por letras minúsculas del alfabeto latino.

Output

Se debe imprimir el menor texto en orden lexicográfico que tiene $L$ letras y no contiene ninguna palabra como substring. Si dicho texto no existe se debe imprimir “Imposible”.

Sample test(s)

Input
3 2 aa ab ac
Output
ad