#P1228C. Primes and Multiplication

Primes and Multiplication

No submission language available for this problem.

Description

Let's introduce some definitions that will be needed later.

Let prime(x)prime(x) be the set of prime divisors of xx. For example, prime(140)={2,5,7}prime(140) = \{ 2, 5, 7 \}, prime(169)={13}prime(169) = \{ 13 \}.

Let g(x,p)g(x, p) be the maximum possible integer pkp^k where kk is an integer such that xx is divisible by pkp^k. For example:

  • g(45,3)=9g(45, 3) = 9 (4545 is divisible by 32=93^2=9 but not divisible by 33=273^3=27),
  • g(63,7)=7g(63, 7) = 7 (6363 is divisible by 71=77^1=7 but not divisible by 72=497^2=49).

Let f(x,y)f(x, y) be the product of g(y,p)g(y, p) for all pp in prime(x)prime(x). For example:

  • f(30,70)=g(70,2)g(70,3)g(70,5)=213051=10f(30, 70) = g(70, 2) \cdot g(70, 3) \cdot g(70, 5) = 2^1 \cdot 3^0 \cdot 5^1 = 10,
  • f(525,63)=g(63,3)g(63,5)g(63,7)=325071=63f(525, 63) = g(63, 3) \cdot g(63, 5) \cdot g(63, 7) = 3^2 \cdot 5^0 \cdot 7^1 = 63.

You have integers xx and nn. Calculate f(x,1)f(x,2)f(x,n)mod(109+7)f(x, 1) \cdot f(x, 2) \cdot \ldots \cdot f(x, n) \bmod{(10^{9} + 7)}.

The only line contains integers xx and nn (2x1092 \le x \le 10^{9}, 1n10181 \le n \le 10^{18}) — the numbers used in formula.

Print the answer.

Input

The only line contains integers xx and nn (2x1092 \le x \le 10^{9}, 1n10181 \le n \le 10^{18}) — the numbers used in formula.

Output

Print the answer.

Samples

Sample Input 1

10 2

Sample Output 1

2

Sample Input 2

20190929 1605

Sample Output 2

363165664

Sample Input 3

947 987654321987654321

Sample Output 3

593574252

Note

In the first example, f(10,1)=g(1,2)g(1,5)=1f(10, 1) = g(1, 2) \cdot g(1, 5) = 1, f(10,2)=g(2,2)g(2,5)=2f(10, 2) = g(2, 2) \cdot g(2, 5) = 2.

In the second example, actual value of formula is approximately 1.597101711.597 \cdot 10^{171}. Make sure you print the answer modulo (109+7)(10^{9} + 7).

In the third example, be careful about overflow issue.