CF915G Coprime Arrays

Description

Let's call an array $ a $ of size $ n $ coprime iff $ gcd(a_{1},a_{2},...,a_{n})=1 $ , where $ gcd $ is the greatest common divisor of the arguments. You are given two numbers $ n $ and $ k $ . For each $ i $ ( $ 1

Input Format

The first line contains two integers $ n $ and $ k $ ( $ 1

Output Format

Since printing $ 2·10^{6} $ numbers may take a lot of time, you have to output the answer in such a way: Let $ b_{i} $ be the number of coprime arrays with elements in range $ [1,i] $ , taken modulo $ 10^{9}+7 $ . You have to print ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF915G/2fc53236b723e26b8283924063ed7dc9ecf86519.png), taken modulo $ 10^{9}+7 $ . Here ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF915G/4298d47c0191af3c0a3103f431751061bc7e2362.png) denotes bitwise xor operation (^ in C++ or Java, xor in Pascal).

Explanation/Hint

Explanation of the example: Since the number of coprime arrays is large, we will list the arrays that are non-coprime, but contain only elements in range $ [1,i] $ : For $ i=1 $ , the only array is coprime. $ b_{1}=1 $ . For $ i=2 $ , array $ [2,2,2] $ is not coprime. $ b_{2}=7 $ . For $ i=3 $ , arrays $ [2,2,2] $ and $ [3,3,3] $ are not coprime. $ b_{3}=25 $ . For $ i=4 $ , arrays $ [2,2,2] $ , $ [3,3,3] $ , $ [2,2,4] $ , $ [2,4,2] $ , $ [2,4,4] $ , $ [4,2,2] $ , $ [4,2,4] $ , $ [4,4,2] $ and $ [4,4,4] $ are not coprime. $ b_{4}=55 $ .