Problem
Dans une entreprise de matériel informatique, tous les produits sont numérotés séquentiellement de 1
à N
. Chaque produit, après sa fabrication, entre dans le service de contrôle qualité, où il est contrôlé, et soit mis en vente, soit inscrit dans la liste des produits défectueux et radié. Malheureusement, la liste des produits défectueux est parfois trop longue. Puis, pour le réduire, les numéros successifs sont remplacés par un intervalle : les numéros du premier et du dernier élément de l'intervalle sont indiqués par un tiret.
Par exemple, au lieu de
1,3,4,5,6,7,8,10,12,16,17,20,21,22,23,24
enregistré
1,3-8,10,12,16-17,20-24
Écrivez un programme qui, étant donné la liste complète des numéros de produits défectueux, affichera cette liste sous une forme abrégée.
Entrée
Sur la première ligne, entrez d'abord le nombre N
- le nombre total de produits, puis le nombre M
- le nombre de produits qui se sont avérés défectueux. Sur la deuxième ligne, entrez les numéros de produits défectueux dans l'ordre croissant des produits.
Sortie
Générez sur une ligne une liste du nombre d'articles défectueux sous forme abrégée. Les intervalles doivent être séparés par des virgules. Il ne doit y avoir aucun espace dans la chaîne.
Limites
1<=M<=N<=1000000
.
Exemples
# |
Entrée |
Sortie |
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 |
10 000 1
5
5 |
Запрещенные операторы: sort
; min
; max
; reverse
; count
; sum
; index