#aBC322G. [ABC322G] Two Kinds of Base

[ABC322G] Two Kinds of Base

AT_abc322_g [ABC322G] Two Kinds of Base

题目描述

给定一个非负整数列 S=(S1,S2,,Sk)S=(S_1,S_2,\dots,S_k) 和一个整数 aa,定义如下函数 f(S,a)f(S,a)

  • f(S,a)=i=1kSi×akif(S,a) = \sum_{i=1}^{k} S_i \times a^{k-i}

例如,$f((1,2,3),4) = 1 \times 4^2 + 2 \times 4^1 + 3 \times 4^0 = 27$,$f((1,1,1,1),10) = 1 \times 10^3 + 1 \times 10^2 + 1 \times 10^1 + 1 \times 10^0 = 1111$。

给定正整数 N,XN,X,请计算满足以下所有条件的非负整数列 S=(S1,S2,,Sk)S=(S_1,S_2,\dots,S_k) 和正整数 a,ba,b 的组 (S,a,b)(S,a,b) 的个数,并将答案对 998244353998244353 取模。

  • k1k \ge 1
  • a,bNa,b \le N
  • S10S_1 \neq 0
  • Si<min(10,a,b) (1ik)S_i < \min(10,a,b)\ (1 \le i \le k)
  • f(S,a)f(S,b)=Xf(S,a) - f(S,b) = X

输入格式

输入包含一行,格式如下:

N XN\ X

输出格式

输出满足条件的非负整数列 SS 和正整数 a,ba,b 的组 (S,a,b)(S,a,b) 的个数,对 998244353998244353 取模后的结果。

输入输出样例 #1

输入 #1

4 2

输出 #1

5

输入输出样例 #2

输入 #2

9 30

输出 #2

31

输入输出样例 #3

输入 #3

322322322 200000

输出 #3

140058961

说明/提示

数据范围

  • 1N1091 \le N \le 10^9
  • 1X2×1051 \le X \le 2 \times 10^5
  • 输入均为整数

样例解释 1

$(S,a,b)=((1,0),4,2),((1,1),4,2),((2,0),4,3),((2,1),4,3),((2,2),4,3)$ 共 55 种情况满足条件。

由 ChatGPT 4.1 翻译