집 번호판

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

나막숭(NarmakSung)은 집 번호판에 쓸 새 숫자판을 만드는 철물점을 운영한다. 예를 들어 어떤 집의 번호가 195라면, 숫자 1, 9, 5를 위한 판을 각각 하나씩 만들어야 한다. 그런데 주문이 항상 이렇게 단순하지는 않다. 예를 들어 한 거리의 한쪽에 있는 모든 집의 번호판을 한꺼번에 만들어 달라는 주문을 받을 수도 있다.

같은 숫자판을 여러 개 만드는 비용이 집마다 모든 숫자를 하나하나 만드는 비용보다 훨씬 싸기 때문에, 그는 큰 주문을 받았을 때 각 숫자판을 몇 개씩 만들어야 하는지 알고 싶어 한다.

입력

입력의 첫 줄에는 주문의 수 tt (1t101 \le t \le 10)가 주어진다. 이어서 tt개의 주문이 차례로 주어진다. 각 주문은 거리 이름이 적힌 한 줄로 시작하며, 거리 이름은 길이가 최대 50자인 임의의 문자열이다. 그다음 줄에는 하위 주문의 개수 NN (1N101 \le N \le 10)이 정수 하나로 주어지고, 이어서 NN개의 하위 주문 줄이 온다. 하위 주문은 세 가지 종류다.

  • 하나의 집 번호: 이 경우 하위 주문 줄에는 정수 nn (1n99991 \le n \le 9999) 하나만 적혀 있다.
  • 연속된 집 번호들: 이 경우 하위 주문 줄은 +로 시작하고, 그 뒤에 세 정수 a,b,ca, b, c (1a,b,c99991 \le a, b, c \le 9999)가 온다. 이는 번호 aa부터 bb까지 간격 cc로 번호판을 만들어야 한다는 뜻이다. 즉 a,a+c,a+2c,,ba, a+c, a+2c, \dots, b에 해당하는 번호판을 만든다. 항상 a<ba < b이고, bab - acc의 배수이며, cbac \le b - a이다.
  • 제외할 연속된 집 번호들: 이 종류의 하위 주문은 어떤 연속된 집 번호들을 만들지 않아야 함을 나타낸다. 이 경우 하위 주문 줄은 -로 시작하며, 뒤에 오는 세 정수의 조건은 위와 완전히 같다.

같은 집 번호가 서로 다른 두 하위 주문에서 여러 번 주문되더라도, 그 번호가 한 번도 제외되지 않았다면 한 번만 센다 (두 번째 주문에 나오는 100번처럼). 또한 한 주문 안에서 한 번이라도 제외된 집 번호는, 나중에 다시 주문되더라도 그 번호에 대한 모든 주문이 취소된다 (두 번째 주문의 500번처럼). 다른 하위 주문에는 전혀 등장하지 않는 번호를 제외할 수도 있는데, 이런 번호는 그냥 무시된다 (두 번째 주문의 900번처럼).

출력

각 입력 주문마다 13줄로 이루어진 출력 한 묶음을 출력한다. 각 묶음은 입력 주문에 나온 그대로의 거리 이름을 담은 한 줄로 시작한다. 그다음 줄은 C addresses 형식이어야 하며, 여기서 CC는 만들어야 할 집 번호의 총 개수다. C=1C = 1인 특별한 경우에는 이 줄이 1 address가 되어야 한다. 그다음 10줄은 다음 형식이어야 한다. ii번째 줄에는 숫자 ii를 위해 만들어야 할 숫자판의 개수가 온다. 이 10줄은 Make X digit Y 형식이며, XX는 숫자 YY (YY는 0부터 9)를 몇 개 만들어야 하는지를 나타낸다. 마지막 줄에는 필요한 숫자의 총 개수 ZZIn total Z digits 형식으로 출력한다. 만들 숫자가 하나뿐이라면 문법에 맞도록 In total 1 digit이라고 출력해야 한다. 출력은 대소문자를 구분한다.