#abc162e. [abc162_e]Sum of gcd of Tuples (Hard)

[abc162_e]Sum of gcd of Tuples (Hard)

Problem Statement

Consider sequences A1,...,AN\\{A_1,...,A_N\\} of length NN consisting of integers between 11 and KK (inclusive).

There are KNK^N such sequences. Find the sum of gcd(A1,...,AN)\\gcd(A_1, ..., A_N) over all of them.

Since this sum can be enormous, print the value modulo (109+7)(10^9+7).

Here gcd(A1,...,AN)\\gcd(A_1, ..., A_N) denotes the greatest common divisor of A1,...,ANA_1, ..., A_N.

Constraints

  • 2leqNleq1052 \\leq N \\leq 10^5
  • 1leqKleq1051 \\leq K \\leq 10^5
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN KK

Output

Print the sum of gcd(A1,...,AN)\\gcd(A_1, ..., A_N) over all KNK^N sequences, modulo (109+7)(10^9+7).


Sample Input 1

3 2

Sample Output 1

9

$\\gcd(1,1,1)+\\gcd(1,1,2)+\\gcd(1,2,1)+\\gcd(1,2,2)$ $+\\gcd(2,1,1)+\\gcd(2,1,2)+\\gcd(2,2,1)+\\gcd(2,2,2)$ 1ˉ+1+1+1+1+1+1+2=9\=1+1+1+1+1+1+1+2=9

Thus, the answer is 99.


Sample Input 2

3 200

Sample Output 2

10813692

Sample Input 3

100000 100000

Sample Output 3

742202979

Be sure to print the sum modulo (109+7)(10^9+7).