페이지 세기
면접 대비시간 제한1초메모리 제한256 MB
문서의 전체 페이지 수와 쉼표로 구분된 페이지 범위 목록이 주어질 때, 실제로 인쇄되는 서로 다른 페이지의 수를 센다.
문제
워드 프로세서(워드, 한글, 메모장 등)에서 인쇄할 때, 인쇄할 페이지 범위를 직접 입력하여 지정할 수 있다. 예를 들어 다음과 같이 입력한다.
10-15,25-28,8-4,13-20,9,8-8
이처럼 인쇄하려는 여러 범위를 콤마(,)로 구분하여 입력한다.
각 인쇄 범위는 양의 정수 하나이거나, 하이픈(-)으로 구분된 두 양의 정수이다. 두 수로 이루어진 범위에서 앞의 수를 low, 뒤의 수를 high라고 하며, 다음 규칙을 따른다.
low > high이면 그 범위는 인쇄하지 않는다.- 인쇄 범위가 문서의 페이지 수를 벗어나면, 실제로 존재하는 페이지만 인쇄한다. 페이지 번호는 1부터 시작한다.
- 인쇄 범위는 서로 겹칠 수 있다. 겹치는 페이지는 여러 번이 아니라 한 번만 인쇄한다. (위 예에서 13, 14, 15는 두 범위에 동시에 포함된다.)
인쇄 범위가 주어졌을 때, 실제로 인쇄되는 서로 다른 페이지의 개수를 구하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫째 줄에는 문서의 총 페이지 수가 주어지고, 둘째 줄에는 인쇄 범위가 문제에서 설명한 형식으로 주어진다. 입력의 마지막 줄에는 0이 하나 주어진다.
문서는 최대 1000페이지이며, 인쇄 범위 문자열의 길이는 1000글자를 넘지 않는다.
출력
각 테스트 케이스마다 실제로 인쇄되는 서로 다른 페이지의 개수를 한 줄에 하나씩 출력한다.