Problem
コンピュータ ハードウェア会社では、すべての製品に 1
から N
までの連続した番号が付けられます。各製品は製造後、品質管理部門に入り検査され、販売されるか、不良品リストに登録されて帳消しとなります。残念ながら、不良品のリストが長すぎる場合があります。次に、それを減らすために、連続する数値が間隔で置き換えられます。間隔の最初と最後の項目の番号はダッシュで示されます。
たとえば、代わりに
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
欠陥製品番号の完全なリストを指定して、このリストを省略形で表示するプログラムを作成します。
入力
最初の行には、最初に数値 N
(製品の総数) を入力し、次に数値 M
(欠陥があることが判明した製品の数) を入力します。 2 行目に、不良品の数を昇順で入力します。
出力
省略形で不良品数のリストを 1 行で出力します。間隔はカンマで区切る必要があります。文字列にはスペースを含めてはいけません。
制限
1<=M<=N<=1000000
.
例
<頭>
# |
入力 |
出力 |
<本体>
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