GCD 곱

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

어려움8정수론수학조합론누적 합아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

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

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

입력

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

출력

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