Într-un
hotel dintr-o zona controlata de ONU se afla n
ziaristi, identificati prin numerele 1,
2, ..., n.
La cazarea în hotel fiecare ziarist primeste o legitimatie pe care
se gaseste un cod (numar natural cu cel mult 10
cifre). Guvernatorul regiunii doreste sa faca o vizita prin împrejurimi.
Pentru ca numarul ziaristilor care vor sa-l însoteasca este prea mare hotaraste
sa întocmeasca o lista cu grupe de ziaristi din hotel, dintre care va urma
sa aleaga una (pe placul sau). Aceste grupe de ziaristi le întocmeste în
functie de o cifra nenula k. Pentru
formarea grupelor se respecta urmatoarele reguli: a) Toate grupele contin
acelasi numar de ziaristi (sa il notam h).
b) Daca ziaristii unei grupe au numerele de identificare x1,
x2, ..., xh,
(x1< x2< ...<xh)
atunci orice doua coduri ci
, ci+1 corespunzatoare
numerelor de identificare xi,
xi+1 (1<=i<h)
au proprietatea ca secventa formata din ultimele k
cifre ale lui ci coincide
cu secventa primelor k cifre din
ci+1. c) Numarul
h de ziaristi dintr-o grupa este
ales astfel încât sa fie maxim cu proprietatea b).
Cerinte
Scrieti
un program care sa determine toate grupele de ziaristi care îndeplinesc
conditiile de mai sus.
Date
de intrare
Fisierul
de intrare onu2.in contine pe prima
linie numerele naturale n si k
separate între ele printr-un spatiu, iar pe linia a doua codurile ziaristilor
în ordinea numerelor de identificare 1,
2, , n,
separate între ele prin câte un spatiu.
Date
de iesire
Fisierul
de iesire onu2.out va contine pe
prima linie numarul G de grupe
cu proprietatile din enunt, iar pe fiecare dintre urmatoarele G
linii cate o grupa de ziaristi. Ziaristii dintr-o grupa vor fi scrisi in ordinea
crescatoare a numerelor lor de identificare. Grupele vor fi scrise în fisier
în ordine lexicografica.