Problem
Blaze envoie des ordres de mouvement à ses troupes, recueillies auprès des habitants de l'une des ombres. Malheureusement, ils ne comprennent pas Amber, donc Blaze doit leur envoyer des messages dans leur propre langue.
C'est là que réside le problème : le prince ambré ne connaît pas bien l'orthographe de cette langue, il fait donc parfois des fautes de mots, mais pas plus d'une faute dans un mot.
Il y a beaucoup de mots dans la langue, donc si au moins une lettre dans un mot change, sa signification peut changer radicalement. Si l'armée ne comprend pas correctement l'ordre, toute la campagne militaire peut échouer. Par conséquent, il est très important pour Blaise de vérifier l'orthographe correcte des mots. Il a décidé de vous demander de l'aider.
Vous devez créer un programme qui sortira dans l'ordre lexicographique tous les mots possibles que Blaise aurait pu essayer d'écrire, étant donné qu'il aurait pu se tromper 1 fois.
Entrée < /i>
La première ligne contient les nombres n et m - le nombre d'ordres donnés par Blaze et le nombre d'ordres compris par ses troupes, respectivement. (1 <= n, m <= 5000)
La ligne suivante prend m mots en entrée - des commandes que les troupes de Blaze comprennent.
Dans les n lignes suivantes, des mots sont donnés en entrée - des ordres donnés par Blaze.
Toutes les chaînes sont inférieures à 100.
Sortie < /i>
Imprimer n lignes : la ligne numéro i contient la réponse au problème pour le numéro de commande de Blaze i. Les lignes qui sont la réponse à cette requête sont affichées sur une seule ligne séparées par un espace.
Exemple
Entrée
5 5
est dans si sur
il
dans
de
je
op
Sortie
si dans est
si est activé
si du
si dans est
de sur
(c) Evgueni Grigoriev