#d2666. 数位计算

数位计算

数位计算

题目描述

​ 给出一个整数 nn,请解决下面的问题:

​ 使 f(x)=f(x) =(不超过 xx 且与 xx 具有相同位数的正整数的个数)。

​ 求出 f(1)+f(2)+...+f(n)f(1)+f(2) + ... + f(n) ,结果对 998244353998244353 取模。

输入格式

​ 一个整数 NN。

输出格式

​ 一个整数——上面问题的答案,并对 998244353998244353 取模。

样例输入 1

16

样例输出 1

73

样例解释:对从 11 到 99 的每个 xx,不超过 xx 且与 xx 具有相同位数的正整数有 1,2,..,x1,2,..,x,因此,f(1)=1,f(2)=2,...,f(9)=9f(1) = 1,f(2)=2,...,f(9)=9。对从 1010 到 1616 的每个 xx,不超过 xx 且与 xx 具有相同位数的正整数有 10,11,..,x10,11,..,x,因此,f(10)=1,f(11)=2,...,f(16)=7f(10) = 1,f(11)=2,...,f(16)=7。所以答案为 7373。

样例输入 2

238

样例输出 2

13870

样例输入 3

999999999999999999

样例输出 3

762062362

数据范围

​ 所有数据保证 1≤N<10181\leq N < 10^{18},且 NN 是整数。