ZigZag
Ο Zig και ο Zag παίζουν ένα παιχνίδι λέξεων. Ο Zig λέει ένα γράμμα και ο Zag λέει μια λέξη που ξεκινά με αυτό το γράμμα. Ωστόσο, η λέξη πρέπει να είναι από τη λίστα επιτρεπόμενων λέξεων και τέτοια ώστε ο Zag να την έχει ήδη πει τις λιγότερες φορές. Αν η επιλεγώμενη λέξη είναι διφορούμενη, τότε ο Zag θα επιλέξει αυτή που είναι λεξικογραφικά μικρότερη (νωρίτερα στο αλφάβητο). Για κάθε γράμμα Zig, θα είναι δυνατό να επιλέξετε μια λέξη.
Ας υπάρχει μια λίστα που αποτελείται από ακριβώς διακριτές λέξεις και μια σειρά από γράμματα που έχει δώσει το Zig. Γράψτε ένα πρόγραμμα που, με βάση την είσοδο, θα εξάγει έναν πίνακα από λέξεις που είπε ο Zag κατά τη διάρκεια του παιχνιδιού.
Είσοδος
Η πρώτη γραμμή εισόδου περιέχει θετικούς ακέραιους αριθμούς και από την περιγραφή εργασίας.
Κάθε μία από τις ακόλουθες γραμμές περιέχει μια λέξη που αποτελείται από πεζά γράμματα του αγγλικού αλφαβήτου που δεν υπερβαίνει τους 21 χαρακτήρες.
Κάθε μία από τις ακόλουθες γραμμές περιέχει ένα μόνο πεζό γράμμα του αγγλικού αλφαβήτου.
Έξοδος
Πρέπει να τυπώσετε γραμμές, καθεμία από τις οποίες να περιέχει μια μόνο λέξη από την περιγραφή εργασίας.
Βαθμολογία
Σε δοκιμαστικές περιπτώσεις που αξίζουν το 60% των συνολικών πόντων, θα ισχύει ότι το και το είναι μικρότερα από 500.
Παραδείγματα
input
4 5
zagreb
split
zadar
sisak
z
s
s
z
z
output
zadar
sisak
split
zagreb
zadar
input
5 3
london
rim
pariz
moskva
sarajevo
p
r
p
output
pariz
rim
pariz
input
1 3
zagreb
z
z
z
output
zagreb
zagreb
zagreb
Comments