编程题
### 问题描述
给定一个整数 $n$ 和 $m$,对于一个长度为 $n$ 的数组 $b$ ,要求任意 $b_i$ 均满足 $1 \leq b_i \leq m$ 且 $\gcd(b_1,b_2,......,b_n)=1$。
请问你能构造出多少个这样的数组,当然答案可能很大,你需要将答案对 $10^9+7$ 取模。
### 输入格式
一行输入包含两个整数 $n$ 和 $m$ 。
数据保证 $1 \leq n \leq 10^6,1 \leq m \leq 10^6$。
### 输出格式
输出一个整数表示答案,对 $10^9+7$ 取模。
### 样例输入
```
3 3
```
### 样例输出
```
25
```
### 说明
由于互质数组 $b$ 的数量比较多,只给出样例中可构造的非互质数组有 $[2,2,2]$ 和 $[3,3,3]$ ,其余有 $25$ 个符合条件的数组。