Pentru codificarea textelor
se poate utiliza un algoritm care identifica subsirurile care se repeta intr-un
text. Ideea de baza a algoritmului este aceea de a inlocui o subsecventa a sirului
de codificat cu o referinta de forma &startPos-endPos,
cu semnificatia ca subsecventa care se inlocuieste este identica cu subsecventa
din sirul initial care incepe din pozitia startPos
si se termina cu pozitia endPos,
inclusiv. Atentie! pozitiile specificate se refera la textul original, nu la
cel codificat
De exemplu, textul ABCDEFGABCDEFG poate fi codificat sub forma &8-14
ABCDEFG.
Pozitiile din sirul initial sunt numerotate incepand cu 0.
Cerinta
Scrieti un program care
sa citeasca un sir codificat ca mai sus si care sa reconstituie textul original.
Date de intrare
Fisierul de intrare cod2.in contine pe prima linie un sir de caractere reprezentand textul codificat.
Date de iesire
Fisierul de iesire cod2.out va contine o singura linie pe care va fi scris textul original, cel a carui
codificare se afla in fisierul de intrare.
Restrictii
Textul original (necodificat) contine cel mult 256 de caractere, litere ale alfabetului englez si spatii.
Textul codificat contine intre 1 si 50 de caractere, inclusiv.
Textul codificat contine litere ale alfabetului englez ('A'-'Z', 'a'-'z'), spatii (' ') si secvente de forma &x-y, unde x si y sunt numere naturale din intervalul [0-255], scrise fara zerouri nesemnificative, si x<=y.
Se garanteaza ca pentru datele de test intotdeauna se poate reconstitui textul initial.