만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

수의 집합 (Small)

면접 대비

시간 제한5초메모리 제한512 MB

요약
A부터 B까지 수 중 P 이상 소인수를 공유하는 수를 합치고 남은 집합 개수를 구합니다.
난이도

보통10점 중 4점

유형
유니온 파인드, 정수론
정답자
아직 제출이 없습니다

문제

연속한 정수 구간을 다음 절차에 따라 여러 집합으로 나눈다.

먼저 대상이 되는 정수 구간과 정수 PP 가 주어진다. 처음에는 구간에 속한 각 정수가 자기 자신만 원소로 갖는 서로 다른 집합에 들어 있다. 이제 구간에 속한 두 정수의 모든 쌍에 대해, 두 수가 공통으로 갖는 소인수 중 PP 이상인 것이 하나라도 있으면 두 수가 속한 집합을 합쳐 하나로 만든다.

이 절차를 모두 끝냈을 때 집합은 몇 개인가?

입력

첫째 줄에 테스트 케이스의 수 CC 가 주어진다.

각 테스트 케이스는 한 줄이며, 공백으로 구분된 세 정수 AA, BB, PP 가 주어진다. AA 와 BB 는 각각 구간의 첫 정수와 마지막 정수이고, PP 는 위에서 설명한 수이다.

제한

  • 1≤C≤101 \le C \le 10
  • 1≤A≤B≤10001 \le A \le B \le 1000
  • 2≤P≤B2 \le P \le B

출력

각 테스트 케이스마다 Case #X: Y 형식의 한 줄을 출력한다. XX 는 1부터 시작하는 테스트 케이스 번호이고, YY 는 남은 집합의 개수이다.

예제1

  1. 예제 1

    입력
    2
    10 20 5
    10 20 3
    
    예상 출력
    Case #1: 9
    Case #2: 7