În Regatul din Sud nu e niciodată prea devreme să te pregăteşti de război. De aceea, în fiecare an Regele organizează un concurs în care premiaţi sunt cei mai buni strategi. Mai întâi, Strategul Şef alege configuraţia ideală de razboi, în care armata va fi dispusă. O trupă într-o configurație e reprezentată de o literă mica din mulțimea {'a'..'z'}
. De exemplu, configuraţia “ffscaam"
descrie o armată formată din doi fermieri, un soldat, un cavaler, doi arcaşi şi un mag. Bineînţeles, în timpul unei lupte, trupele nu îşi vor menţine neapărat poziiţile inţiale. Cu toate acestea, orice tip de trupă poate schimba poziţia cu maxim un alt tip de trupă, ştiut de dinainte de toţi locuitorii regatului. De asemenea se ştie că arcaşii nu schimbă poziţii decât între ei. Pentru exemplul anterior, dacă un fermier sau un soldat nu schimbă poziţii decât cu un alt fermier sau soldat, configuraţii echivalente cu “ffscaam"
sunt “fsfcaam"
şi “sffcaam"
.
Fiecare strateg concurent alege o configuraţie, iar câştigătorii sunt cei care aleg configuraţii echivalente cu cea a Strategului Şef.
Cerința
Date fiind configuraţia Strategului Şef, M
perechi de trupe care comută, şi cele N
configuraţii ale concurenţilor, numerotate de la 1
la N
, să se afişeze indecşii configuraţiilor câştigătoare.
Date de intrare
Fişierul armata_regelui.in
va conţine pe prima linie configuraţia Strategului Şef, pe a doua linie M
şi N
, pe următoarele M
linii perechile de trupe care comută, separate printr-un spaţiu, iar pe următoarele N
linii cele N
configuraţii concurente, fiecare pe câte o linie.
Date de ieșire
Fişierul armata_regelui.out
va conţine, în ordine crescătoare, indecşii configuraţiilor câştigătoare, fiecare pe câte o linie.
Restricții și precizări
M < 7
N < 5001
- Lungimea unei configuraţii
< 5001
- Fiecare test conţine
< 151
configuraţii câştigătoare - Toate testele conţin arcaşi. Cel putin
2
teste au< 20
arcaşi. Arcaşii sunt mereu reprezentaţi de litera'a'
şi sunt în general mai puţini decât celelalte trupe. Dacă \(t_1\) comută cu \(t_2\) atunci şi \(t_2\) comută cu \(t_1\).
Exemplu:
armata_regelui.in
ffscaam 6 6 f s c m b g d z x y l t ffsacam ffscaam fsfcaam sffcaam scmaafssf ffztacm
armata_regelui.out
2 3 4