Codice

Fase territoriale

Giovanni ha deciso che il normale modo di scrivere i numeri naturali (l’insieme dei numeri naturali comprende 0 e tutti i numeri interi positivi) non è adatto ai computer.
In particolare, lo disturba il fatto che per leggere numeri da un file occorra un separatore.

Per esempio, se un file contiene

2
1
12

è facile capire quali sono i numeri contenuti, dato che sono separati da un fine riga.

Se lo stesso file fosse scritto però come segue

2112

non si potrebbe distinguere dal file che contiene il solo numero 2112.

Per risolvere il problema una volta per tutte, Giovanni decide di inventare un formato di scrittura dei numeri che non necessita di separatori.

Il formato funziona così: se vogliamo scrivere un numero x, per prima cosa calcoliamo il numero n di cifre che occorrono per scrivere x.
Per esempio, se x è 41012 allora n è uguale a 5.
La rappresentazione di x, a questo punto, si ottiene come segue: scriviamo tanti zeri quante sono le cifre di n seguiti da un uno, quindi scriviamo n, e per finire scriviamo x.
Per esempio, il numero 41012 verrà rappresentato da 01541012, mentre 1234567890 verrà rappresentato da 001101234567890 e zero verrà rappresentato da 0110.

Giovanni si sente molto furbo, perché in questo modo può concatenare liberamente rappresentazioni di numeri e leggerle senza bisogno di separatori: per esempio, leggendo

015410120011012345678900110

si vede che ci deve essere un numero la cui lunghezza è specificata da una cifra (c’è uno zero seguito da un uno).
Questa lunghezza è cinque: i cinque numeri che seguono sono 41201, e quindi questo è il primo numero.
Il numero successivo deve avere una lunghezza espressa da due cifre (perché ci sono due zeri seguiti da un uno).
La lunghezza sarà quindi 10, e il numero 1234567890.
Infine, l’ultimo numero deve avere una lunghezza espressa da una singola cifra (perché comincia con 01); la lunghezza risulta essere uno, l’unica cifra che compare è 0, e quindi il numero è zero.

Giovanni non ha avuto difficoltà a scrivere un programma che legge una serie di numeri e li scrive senza separatori nella nuova forma.
Ha però qualche problema a rileggere i numeri che ha scritto, e voi dovete aiutarlo.

File di input

Il file di input contiene una sequenza di cifre terminate da un asterisco (*).

File di output

Il file di output contiene un intero su ogni riga. La prima riga deve contenere, nella normale forma decimale, il primo intero rappresentato nell’input, la seconda riga il secondo e così via.

Assunzioni

  • I numeri sono rappresentati senza segno.
  • Nessun intero è più grande di 101000.

Esempi

input.txt output.txt
0142112* 2112
01541012001101234567890011000112234234234234* 41012
1234567890
0
234234234234