Problem
In un'azienda di hardware per computer, tutti i prodotti sono numerati in sequenza da 1
a N
. Ogni prodotto, dopo la sua fabbricazione, entra nel reparto di controllo qualità, dove viene controllato, e va in vendita, oppure viene inserito nell'elenco dei prodotti difettosi e cancellato. Sfortunatamente, l'elenco dei prodotti difettosi a volte è troppo lungo. Poi, per ridurlo, i numeri successivi sono sostituiti da un intervallo: i numeri del primo e dell'ultimo elemento dell'intervallo sono indicati con un trattino.
Ad esempio, invece di
1,3,4,5,6,7,8,10,12,16,17,20,21,22,23,24
registrato
1,3-8,10,12,16-17,20-24
Scrivi un programma che, dato l'elenco completo dei numeri di prodotto difettosi, visualizzi questo elenco in forma abbreviata.
Input
Nella prima riga, inserisci prima il numero N
- il numero totale di prodotti, quindi il numero M
- il numero di prodotti che si sono rivelati difettosi. Nella seconda riga, inserisci i numeri dei prodotti difettosi in ordine crescente.
Uscita
Stampa in una riga un elenco di numeri di articoli difettosi in forma abbreviata. Gli intervalli devono essere separati da virgole. Non devono essere presenti spazi nella stringa.
Limiti
1<=M<=N<=1000000
.
Esempi
# |
Input |
Uscita |
1 |
10 5
1 3 5 7 9
|
1,3,5,7,9 |
2 |
40 16
1 3 4 5 6 7 8 10 12 16 17 20 21 22 23 24
|
1,3-8,10,12,16-17,20-24 |
3 |
11 11
1 2 3 4 5 6 7 8 9 10 11
|
1-11 |
4 |
10000 1
5
|
5 |
Запрещенные операторы: sort
; min
; max
; reverse
; count
; sum
; index