Sakurako y el Viejo Diccionario#11716

Sakurako y el Viejo Diccionario

1,25 segundos
256 megabytes
Difícil

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.

Entrada

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.

Salida

En una sola línea, imprime la palabra más pequeña en orden lexicográfico.

Ejemplos

Ejemplo

Loading
Loading

Puntuación

  1. ( puntos): k = 0, ~|s_1|=|s_2|=\dots=|s_n|;

  2. ( puntos): k = 0, ~|s_i|\le 10;

  3. ( puntos): k = 0;

  4. ( puntos): n \le 500, ~|s_i|\le 10;

  5. ( puntos): n \le 1000;

  6. ( puntos): |s_1|=|s_2|=\dots=|s_n|;

  7. ( puntos): s_i consiste en letras y ;

  8. ( puntos): sin restricciones adicionales.