Sakurako está ordenando la habitación. Ha encontrado un diccionario que contiene cadenas. Sin embargo, ese diccionario es peculiar, y la presencia de una cadena en el diccionario no significa que tal palabra exista en la realidad.
Cualquier palabra del mundo de Sakurako puede obtenerse reordenando las cadenas en el diccionario y concatenándolas en una sola palabra. Por ejemplo, si el diccionario contiene las cadenas: , las palabras posibles son: .
Como el diccionario está un poco desactualizado, han aparecido nuevas palabras en el mundo. Aún se pueden obtener de ese diccionario si se invierten como máximo cadenas.
Ayuda a Sakurako a encontrar la palabra posible más pequeña en orden lexicográfico en la vida moderna.
La primera línea contiene dos enteros n, k ~(1\le n\le 2\cdot 10^5;~k\in\{0,1\}) — el número de palabras en el diccionario y el número de posibles inversiones.
Cada una de las siguientes líneas contiene una cadena s~(1\le |s_i|\le 2\cdot 10^5) que pertenece al diccionario.
Se garantiza que \sum |s_i|\le 4\cdot 10^5 y que todas las cadenas consisten en letras minúsculas del inglés.
En una sola línea, imprime la palabra más pequeña en orden lexicográfico.
Ejemplo
( puntos): k = 0, ~|s_1|=|s_2|=\dots=|s_n|;
( puntos): k = 0, ~|s_i|\le 10;
( puntos): k = 0;
( puntos): n \le 500, ~|s_i|\le 10;
( puntos): n \le 1000;
( puntos): |s_1|=|s_2|=\dots=|s_n|;
( puntos): s_i consiste en letras y ;
( puntos): sin restricciones adicionales.