만드는 중입니다

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

n^m의 약수의 합

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

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

보통10점 중 5점

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

문제

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

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

입력

첫째 줄에 nn과 mm이 공백 하나로 구분되어 주어진다. (1≤n≤1091 \le n \le 10^9, 0≤m≤1090 \le m \le 10^9)

출력

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

예제5

  1. 예제 1

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

    입력
    2 10
    
    예상 출력
    2047
    
  3. 예제 3

    입력
    3 2
    
    예상 출력
    13
    
  4. 예제 4

    입력
    5 10
    
    예상 출력
    12207031
    
  5. 예제 5

    입력
    12345 67890
    
    예상 출력
    336000773