Oracolul decide!

Time limit: 0.05s Memory limit: 4MB Input: oracol.in Output: oracol.out

La un concurs participă NN concurenţi. Fiecare concurent primeşte o foaie de hârtie pe care va scrie un cuvânt având cel mult 100100 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 c0c_0 produs de oracol şi cuvintele ci, i=1,2,...,Nc_i, \ i = 1, 2, ..., N, scrise de concurenţi. Pentru a ajuta comisia să desemneze câştigătorul, se cere ca pentru fiecare ii să identificaţi poziţiile literelor ce trebuie şterse din c0c_0 şi din cic_i 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 11: NN, număr natural nenul, reprezentând numărul concurenţilor;
  • Linia 22: c0c_0, cuvântul produs de oracol;
  • Liniile 33, \dots, N+2N+2: cuvânt - pe aceste NN linii se află cuvintele scrise de cei NN concurenţi, un cuvânt pe o linie;

Date de ieșire

Fișierul de ieșire oracol.out va contine 2N2 \cdot N linii, reprezentand poziţiile literelor ce trebuie şterse. pe fiecare linie ii (ii = 11, 33, \dots, 2N12 \cdot N - 1) 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 jj (jj = 22, 44, \dots, 2N2 \cdot N) 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 j2\frac{j}{2}.

Restricții și precizări

  • 2N1002 \leq N \leq 100
  • 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

Log in or sign up to be able to send submissions!