만드는 중입니다

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

GCD 곱

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

요약
1 이상 N 이하의 i와 1 이상 M 이하의 j 모든 쌍에 대해 gcd(i, j)를 곱한 값을 10^9+7로 나눈 나머지를 구한다. N과 M은 최대 1500만이다.
난이도

어려움10점 중 8점

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

문제

NN과 MM이 주어진다. 11 이상 NN 이하의 모든 ii와 11 이상 MM 이하의 모든 jj에 대해 최대공약수 gcd⁡(i,j)\gcd(i, j)를 전부 곱한 값을 구하는 프로그램을 작성하시오.

∏i=1N∏j=1Mgcd⁡(i,j)\prod_{i=1}^{N}\prod_{j=1}^{M}\gcd(i, j)

입력

첫째 줄에 NN과 MM이 공백으로 구분되어 주어진다. (1≤N,M≤15,000,0001 \le N, M \le 15{,}000{,}000)

출력

첫째 줄에 곱을 109+710^9 + 7로 나눈 나머지를 출력한다.

예제2

  1. 예제 1

    입력
    4 4
    
    예상 출력
    96
    
  2. 예제 2

    입력
    2 3
    
    예상 출력
    2