AT_abc162_e [ABC162E] Sum of gcd of Tuples (Hard)

Description

[problemUrl]: https://atcoder.jp/contests/abc162/tasks/abc162_e $ 1 $ 以上 $ K $ 以下の整数からなる長さ $ N $ の数列 $ \{A_1,...,A_N\} $ を考えます。 そのようなものは $ K^N $ 個ありますが、その全てについての $ \gcd(A_1,...,A_N) $ の和を求めてください。 ただし、答えは非常に大きくなる可能性があるため、和を $ (10^9+7) $ で割ったあまりを出力してください。 なお、$ \gcd(A_1,...,A_N) $ は $ A_1,...,A_N $ の最大公約数を表します。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ K $

Output Format

$ K^N $ 個の数列全てについての $ \gcd(A_1,...,A_N) $ の和を $ (10^9+7) $ で割ったあまりを出力せよ。

Explanation/Hint

### 制約 - $ 2\ \leq\ N\ \leq\ 10^5 $ - $ 1\ \leq\ K\ \leq\ 10^5 $ - 入力は全て整数 ### Sample Explanation 1 $ \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 $ となるため、答えは $ 9 $ です。 ### Sample Explanation 3 和を $ 10^9+7 $ で割った余りを出力してください。