CF1644F.Basis

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

For an array of integers aa , let's define a|a| as the number of elements in it.

Let's denote two functions:

  • F(a,k)F(a, k) is a function that takes an array of integers aa and a positive integer kk . The result of this function is the array containing a|a| first elements of the array that you get by replacing each element of aa with exactly kk copies of that element.For example, F([2,2,1,3,5,6,8],2)F([2, 2, 1, 3, 5, 6, 8], 2) is calculated as follows: first, you replace each element of the array with 22 copies of it, so you obtain [2,2,2,2,1,1,3,3,5,5,6,6,8,8][2, 2, 2, 2, 1, 1, 3, 3, 5, 5, 6, 6, 8, 8] . Then, you take the first 77 elements of the array you obtained, so the result of the function is [2,2,2,2,1,1,3][2, 2, 2, 2, 1, 1, 3] .
  • G(a,x,y)G(a, x, y) is a function that takes an array of integers aa and two different integers xx and yy . The result of this function is the array aa with every element equal to xx replaced by yy , and every element equal to yy replaced by xx .For example, G([1,1,2,3,5],3,1)=[3,3,2,1,5]G([1, 1, 2, 3, 5], 3, 1) = [3, 3, 2, 1, 5] .

An array aa is a parent of the array bb if:

  • either there exists a positive integer kk such that F(a,k)=bF(a, k) = b ;
  • or there exist two different integers xx and yy such that G(a,x,y)=bG(a, x, y) = b .

An array aa is an ancestor of the array bb if there exists a finite sequence of arrays c0,c1,,cmc_0, c_1, \dots, c_m ( m0m \ge 0 ) such that c0c_0 is aa , cmc_m is bb , and for every i[1,m]i \in [1, m] , ci1c_{i-1} is a parent of cic_i .

And now, the problem itself.

You are given two integers nn and kk . Your goal is to construct a sequence of arrays s1,s2,,sms_1, s_2, \dots, s_m in such a way that:

  • every array sis_i contains exactly nn elements, and all elements are integers from 11 to kk ;
  • for every array aa consisting of exactly nn integers from 11 to kk , the sequence contains at least one array sis_i such that sis_i is an ancestor of aa .

Print the minimum number of arrays in such sequence.

输入格式

The only line contains two integers nn and kk ( 1n,k21051 \le n, k \le 2 \cdot 10^5 ).

输出格式

Print one integer — the minimum number of elements in a sequence of arrays meeting the constraints. Since the answer can be large, output it modulo 998244353998244353 .

输入输出样例

  • 输入#1

    3 2

    输出#1

    2
  • 输入#2

    4 10

    输出#2

    12
  • 输入#3

    13 37

    输出#3

    27643508
  • 输入#4

    1337 42

    输出#4

    211887828
  • 输入#5

    198756 123456

    输出#5

    159489391
  • 输入#6

    123456 198756

    输出#6

    460526614

说明/提示

Let's analyze the first example.

One of the possible answers for the first example is the sequence [[2,1,2],[1,2,2]][[2, 1, 2], [1, 2, 2]] . Every array of size 33 consisting of elements from 11 to 22 has an ancestor in this sequence:

  • for the array [1,1,1][1, 1, 1] , the ancestor is [1,2,2][1, 2, 2] : F([1,2,2],13)=[1,1,1]F([1, 2, 2], 13) = [1, 1, 1] ;
  • for the array [1,1,2][1, 1, 2] , the ancestor is [1,2,2][1, 2, 2] : F([1,2,2],2)=[1,1,2]F([1, 2, 2], 2) = [1, 1, 2] ;
  • for the array [1,2,1][1, 2, 1] , the ancestor is [2,1,2][2, 1, 2] : G([2,1,2],1,2)=[1,2,1]G([2, 1, 2], 1, 2) = [1, 2, 1] ;
  • for the array [1,2,2][1, 2, 2] , the ancestor is [1,2,2][1, 2, 2] ;
  • for the array [2,1,1][2, 1, 1] , the ancestor is [1,2,2][1, 2, 2] : G([1,2,2],1,2)=[2,1,1]G([1, 2, 2], 1, 2) = [2, 1, 1] ;
  • for the array [2,1,2][2, 1, 2] , the ancestor is [2,1,2][2, 1, 2] ;
  • for the array [2,2,1][2, 2, 1] , the ancestor is [2,1,2][2, 1, 2] : F([2,1,2],2)=[2,2,1]F([2, 1, 2], 2) = [2, 2, 1] ;
  • for the array [2,2,2][2, 2, 2] , the ancestor is [1,2,2][1, 2, 2] : G(F([1,2,2],4),1,2)=G([1,1,1],1,2)=[2,2,2]G(F([1, 2, 2], 4), 1, 2) = G([1, 1, 1], 1, 2) = [2, 2, 2] .
首页