Problem
Di syarikat perkakasan komputer, semua produk dinomborkan secara berurutan daripada 1
hingga N
. Setiap produk, selepas pembuatannya, memasuki jabatan kawalan kualiti, di mana ia diperiksa, dan sama ada dijual, atau dimasukkan dalam senarai produk yang rosak dan dihapus kira. Malangnya, senarai produk yang rosak kadangkala terlalu panjang. Kemudian, untuk mengurangkannya, nombor berturut-turut digantikan dengan selang: nombor item pertama dan terakhir selang itu ditunjukkan melalui sempang.
Sebagai contoh, bukannya
1,3,4,5,6,7,8,10,12,16,17,20,21,22,23,24
dirakam
1,3-8,10,12,16-17,20-24
Tulis program yang, memandangkan senarai penuh nombor produk cacat, akan memaparkan senarai ini dalam bentuk singkatan.
Input
Di baris pertama, mula-mula masukkan nombor N
- jumlah bilangan produk, kemudian nombor M
- bilangan produk yang ternyata rosak. Dalam baris kedua, masukkan nombor produk yang rosak dalam produk pesanan menaik.
Output
Keluarkan dalam satu baris senarai bilangan item yang rosak dalam bentuk singkatan. Selang mesti dipisahkan dengan koma. Tiada ruang dalam rentetan.
Had
1<=M<=N<=1000000
.
Contoh
# |
Input |
Output |
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 |
jadual>
Запрещенные операторы: sort
; min
; max
; reverse
; count
; sum
; index