Interesant

Time limit: 1s Memory limit: 8MB Input: interesant.in Output: interesant.out

Se consideră o mulțime SS care conține NN șiruri de caractere formate din litere mici ale alfabetului englezesc.

Un șir de caractere se numește interesant în raport cu celelalte șiruri ale mulțimii, dacă nu există un alt șir în mulțime care să-l conțină ca subșir. De exemplu, dacă mulțimea SS conține șirurile abc, bde și abcdef, atunci singurul șir interesant este abcdef deoarece abc și bde nu îl conțin ca subșir. Mai mult, abc și bde sunt subșiruri în abcdef, deci nu sunt interesante.

Cerințe

Fiind dată o mulțime SS formată din NN șiruri de caractere se cere:

  1. Să se determine cel mai lung șir. Dacă sunt mai multe șiruri având aceeași lungime maximă, se cere cel mai mic din punct de vedere lexicografic.
  2. Să se determine toate șirurile interesante din mulțimea SS.

Date de intrare

Fișierul de intrare interesant.in conține pe prima linie două numere naturale pp și NN, despărțite prin spațiu. Pentru toate testele de intrare, numărul pp poate avea doar valoarea 11 sau valoarea 22. Pe următoarele NN linii, se găsesc șirurile de caractere, câte unul pe linie.

Date de ieșire

Dacă valoarea lui pp este 11, se va rezolva numai cerința 11.

În acest caz, în fișierul de ieșire interesant.out se va scrie cel mai lung șir dintre cele citite. Dacă există mai multe șiruri de aceeași lungime, se va scrie cel mai mic din punct de vedere lexicografic.

Dacă valoarea lui pp este 22, se va rezolva numai cerința 22.

În acest caz, fișierul de ieșire interesant.out va conține pe prima linie o valoare KK ce reprezintă numărul de șiruri interesante, iar pe următoarele KK linii, șirurile interesante în ordinea în care apar în fișierul de intrare.

Restricții și precizări

  • 2N2002 \leq N \leq 200
  • Lungimea unui șir va fi cuprinsă între 11 și 5 0005 \ 000.
  • Un subșir al șirului de caractere C0C1C2CkC_0 C_1 C_2 \dots C_k se definește ca fiind o succesiune de caractere Ci1Ci2Ci3CikC_{i_1} C_{i_2} C_{i_3} \dots C_{i_k}, unde 0i1<i2<i3<<ikk0 \leq i_1 < i_2 < i_3 < \dots < i_k \leq k.
  • Fișierul de intrare NU conține șiruri identice.
pp Punctaj
11 20
22 80

Exemplul 1

interesant.in

1 5
abcacaaz
ad
abcacaad
acd
zyt

interesant.out

abcacaad

Explicație

p=1p=1

Fișierul de intrare conține 55 șiruri.

abcacaad este șirul de lungime maximă. Șirul abcacaaz are aceeași lungime, dar este mai mare din punct de vedere lexicografic.

Atenție! Pentru acest test se rezolvă doar cerința 1.

Exemplul 2

interesant.in

2 5
abcacaad
ad
zayyt
acd
zyt

interesant.out

2
abcacaad
zayyt

Explicație

p=2p=2

ad, acd sunt subșiruri al lui abcacaad, iar zyt este subșir al lui zayyt.

Atenție! Pentru acest test se rezolvă doar cerința 2.

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