페이지 세기

시간 제한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글자를 넘지 않는다.

출력

각 테스트 케이스마다 실제로 인쇄되는 서로 다른 페이지의 개수를 한 줄에 하나씩 출력한다.