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
숫자를 입력합니다. 두 번째 줄에는 결함 제품의 수를 제품 오름차순으로 입력합니다.
출력
축약된 형식으로 불량 항목 수 목록을 한 줄에 출력합니다. 간격은 쉼표로 구분해야 합니다. 문자열에는 공백이 없어야 합니다.
제한
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