La un concurs participă concurenţi. Fiecare concurent primeşte o foaie de hârtie pe care va scrie un cuvânt având cel mult de caractere (litere mici ale alfabetului englez). Cuvintele vor fi distincte. Pentru departajare, concurenţii apelează la un oracol. Acesta produce şi el un cuvânt. Va câştiga concurentul care a scris cuvântul "cel mai apropiat" de al oracolului. Gradul de "apropiere" dintre două cuvinte este lungimea subcuvântului comun de lungime maximă. Prin subcuvânt al unui cuvânt dat se înţelege un cuvânt care se poate obţine din cuvântul dat, eliminând 0 sau mai multe litere şi păstrând ordinea literelor rămase.
Cerinţă
Se cunosc cuvântul produs de oracol şi cuvintele , scrise de concurenţi. Pentru a ajuta comisia să desemneze câştigătorul, se cere ca pentru fiecare să identificaţi poziţiile literelor ce trebuie şterse din şi din astfel încât prin ştergere să se obţină unul dintre subcuvintele comune de lungime maximă.
Date de intrare
Fişier de intrare: oracol.in
- Linia : , număr natural nenul, reprezentând numărul concurenţilor;
- Linia : , cuvântul produs de oracol;
- Liniile , , : cuvânt - pe aceste linii se află cuvintele scrise de cei concurenţi, un cuvânt pe o linie;
Date de ieșire
Fișierul de ieșire oracol.out
va contine linii, reprezentand poziţiile literelor ce trebuie şterse. pe fiecare linie ( = , , , ) se vor scrie numere naturale nenule, separate prin câte un spaţiu, reprezentând poziţiile de pe care se vor şterge litere din cuvântul produs de oracol; pe fiecare linie ( = , , , ) se vor scrie numere naturale nenule, separate prin câte un spaţiu, reprezentând poziţiile de pe care se vor şterge litere din cuvântul concurentului cu numărul .
Restricții și precizări
- Dacă există mai multe soluţii, în fişier se va scrie una singură.
- Dacă dintr-un cuvânt nu se va tăia nici o literă, linia respectivă din fişierul de intrare va rămâne vidă.
Exemplu
oracol.in
3
abc
abxd
aabxyc
acb
oracol.out
3
3 4
1 4 5
3
2