n^m의 약수의 합

n과 m이 주어질 때 n의 m제곱의 모든 약수의 합을 1000000007로 나눈 나머지를 구합니다.

보통5정수론수학아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

두 정수 nnmm이 주어진다. nmn^m의 모든 약수의 합을 구하는 프로그램을 작성하시오.

약수의 합은 매우 커질 수 있으므로 1,000,000,007로 나눈 나머지를 구한다.

입력

첫째 줄에 nnmm이 공백 하나로 구분되어 주어진다. (1n1091 \le n \le 10^9, 0m1090 \le m \le 10^9)

출력

첫째 줄에 nmn^m의 모든 약수의 합을 1,000,000,007로 나눈 나머지를 출력한다.