만드는 중입니다

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

소수 곱과 최소공배수

시간 제한1초메모리 제한256 MB

요약
N이 주어지면 1부터 N까지 최소공배수를 N 이하 모든 소수의 곱으로 나눈 몫을 1000000007로 나눈 나머지를 출력합니다.
난이도

보통10점 중 7점

유형
정수론, 수학
정답자
아직 제출이 없습니다

문제

정수 NN이 주어진다. 11부터 NN까지의 모든 정수의 최소공배수를 LCM(1,2,…,N)\mathrm{LCM}(1, 2, \ldots, N)이라 하고, NN 이하의 모든 소수를 곱한 값을 P(N)P(N)이라 하자.

LCM(1,2,…,N)\mathrm{LCM}(1, 2, \ldots, N)은 항상 P(N)P(N)으로 나누어떨어진다. 그 몫을 10000000071000000007로 나눈 나머지를 구하라.

예를 들어 N=5N = 5이면 LCM(1,2,3,4,5)=60\mathrm{LCM}(1, 2, 3, 4, 5) = 60이고 P(5)=2×3×5=30P(5) = 2 \times 3 \times 5 = 30이므로 몫은 60/30=260 / 30 = 2이다.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. (1≤T≤50 0001 \le T \le 50\,000)

이어지는 TT개의 줄에 정수 NN이 한 줄에 하나씩 주어진다. (2≤N≤10142 \le N \le 10^{14})

출력

각 테스트 케이스마다 Case x: S 형식으로 한 줄씩 출력한다. xx는 11부터 시작하는 테스트 케이스 번호이고, SS는 몫을 10000000071000000007로 나눈 나머지이다.

예제3

  1. 예제 1

    입력
    10
    2
    3
    4
    5
    6
    7
    8
    9
    10
    1000
    
    예상 출력
    Case 1: 1
    Case 2: 1
    Case 3: 2
    Case 4: 2
    Case 5: 2
    Case 6: 2
    Case 7: 4
    Case 8: 12
    Case 9: 12
    Case 10: 744593350
    
  2. 예제 2

    입력
    1
    2
    
    예상 출력
    Case 1: 1
    
  3. 예제 3

    입력
    3
    5
    16
    100
    
    예상 출력
    Case 1: 2
    Case 2: 24
    Case 3: 30240