CF1749D.Counting Arrays
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Consider an array a of length n with elements numbered from 1 to n . It is possible to remove the i -th element of a if gcd(ai,i)=1 , where gcd denotes the greatest common divisor. After an element is removed, the elements to the right are shifted to the left by one position.
An array b with n integers such that 1≤bi≤n−i+1 is a removal sequence for the array a if it is possible to remove all elements of a , if you remove the b1 -th element, then the b2 -th, ..., then the bn -th element. For example, let a=[42,314] :
- [1,1] is a removal sequence: when you remove the 1 -st element of the array, the condition gcd(42,1)=1 holds, and the array becomes [314] ; when you remove the 1 -st element again, the condition gcd(314,1)=1 holds, and the array becomes empty.
- [2,1] is not a removal sequence: when you try to remove the 2 -nd element, the condition gcd(314,2)=1 is false.
An array is ambiguous if it has at least two removal sequences. For example, the array [1,2,5] is ambiguous: it has removal sequences [3,1,1] and [1,2,1] . The array [42,314] is not ambiguous: the only removal sequence it has is [1,1] .
You are given two integers n and m . You have to calculate the number of ambiguous arrays a such that the length of a is from 1 to n and each ai is an integer from 1 to m .
输入格式
The only line of the input contains two integers n and m ( 2≤n≤3⋅105 ; 1≤m≤1012 ).
输出格式
Print one integer — the number of ambiguous arrays a such that the length of a is from 1 to n and each ai is an integer from 1 to m . Since the answer can be very large, print it modulo 998244353 .
输入输出样例
输入#1
2 3
输出#1
6
输入#2
4 2
输出#2
26
输入#3
4 6
输出#3
1494
输入#4
1337 424242424242
输出#4
119112628