Problem
Em uma empresa de hardware de computador, todos os produtos são numerados sequencialmente de 1
a N
. Cada produto, após sua fabricação, entra no departamento de controle de qualidade, onde é verificado e colocado à venda ou entra na lista de produtos defeituosos e baixados. Infelizmente, a lista de produtos defeituosos às vezes é muito longa. Então, para reduzi-lo, os números sucessivos são substituídos por um intervalo: os números do primeiro e do último itens do intervalo são indicados por um traço.
Por exemplo, em vez de
1,3,4,5,6,7,8,10,12,16,17,20,21,22,23,24
gravado
1,3-8,10,12,16-17,20-24
Escreva um programa que, dada a lista completa de números de produtos defeituosos, exiba essa lista de forma abreviada.
Entrada
Na primeira linha, digite primeiro o número N
- o número total de produtos, depois o número M
- o número de produtos que apresentaram defeito. Na segunda linha, insira os números de produtos defeituosos em produtos de ordem crescente.
Saída
Imprima em uma linha uma lista de números de itens defeituosos em forma abreviada. Os intervalos devem ser separados por vírgulas. Não deve haver espaços na string.
Limites
1<=M<=N<=1000000
.
Exemplos
# |
Entrada |
Saída |
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