Problem
En una empresa de hardware informático, todos los productos se numeran secuencialmente desde 1
a N
. Cada producto, después de su fabricación, ingresa al departamento de control de calidad, donde se verifica y sale a la venta o se ingresa en la lista de productos defectuosos y se da de baja. Desafortunadamente, la lista de productos defectuosos a veces es demasiado larga. Luego, para reducirlo, los números sucesivos se reemplazan por un intervalo: los números del primer y último elemento del intervalo se indican mediante un guión.
Por ejemplo, en lugar de
1,3,4,5,6,7,8,10,12,16,17,20,21,22,23,24
grabado
1,3-8,10,12,16-17,20-24
Escriba un programa que, dada la lista completa de números de productos defectuosos, muestre esta lista en forma abreviada.
Entrada
En la primera línea, primero ingrese el número N
- el número total de productos, luego el número M
- el número de productos que resultaron ser defectuosos. En la segunda línea, ingrese el número de productos defectuosos en orden ascendente.
Salida
Muestra en una línea una lista de números de artículos defectuosos en forma abreviada. Los intervalos deben estar separados por comas. No debe haber espacios en la cadena.
Límites
1<=M<=N<=1000000.
Ejemplos
# |
Entrada |
Salida |
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