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