CF915G.Coprime Arrays

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Let's call an array aa of size nn coprime iff gcd(a1,a2,...,an)=1gcd(a_{1},a_{2},...,a_{n})=1 , where gcdgcd is the greatest common divisor of the arguments.

You are given two numbers nn and kk . For each ii ( 1<=i<=k1<=i<=k ) you have to determine the number of coprime arrays aa of size nn such that for every jj ( 1<=j<=n1<=j<=n ) 1<=aj<=i1<=a_{j}<=i . Since the answers can be very large, you have to calculate them modulo 109+710^{9}+7 .

输入格式

The first line contains two integers nn and kk ( 1<=n,k<=21061<=n,k<=2·10^{6} ) — the size of the desired arrays and the maximum upper bound on elements, respectively.

输出格式

Since printing 21062·10^{6} numbers may take a lot of time, you have to output the answer in such a way:

Let bib_{i} be the number of coprime arrays with elements in range [1,i][1,i] , taken modulo 109+710^{9}+7 . You have to print , taken modulo 109+710^{9}+7 . Here denotes bitwise xor operation (^ in C++ or Java, xor in Pascal).

输入输出样例

  • 输入#1

    3 4
    

    输出#1

    82
    
  • 输入#2

    2000000 8
    

    输出#2

    339310063
    

说明/提示

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][1,i] :

For i=1i=1 , the only array is coprime. b1=1b_{1}=1 .

For i=2i=2 , array [2,2,2][2,2,2] is not coprime. b2=7b_{2}=7 .

For i=3i=3 , arrays [2,2,2][2,2,2] and [3,3,3][3,3,3] are not coprime. b3=25b_{3}=25 .

For i=4i=4 , arrays [2,2,2][2,2,2] , [3,3,3][3,3,3] , [2,2,4][2,2,4] , [2,4,2][2,4,2] , [2,4,4][2,4,4] , [4,2,2][4,2,2] , [4,2,4][4,2,4] , [4,4,2][4,4,2] and [4,4,4][4,4,4] are not coprime. b4=55b_{4}=55 .

首页