#abc238c. [abc238_c]digitnum

[abc238_c]digitnum

问题描述

给定整数NN,解决以下问题。

f(x)=f(x)= (最大为xx的与xx有相同位数的正整数的个数)。
找出f(1)+f(2)+dots+f(N)f(1)+f(2)+\\dots+f(N)在模998244353998244353下的值。

约束条件

  • NN是一个整数。
  • 1leN<10181 \\le N < 10^{18}

输入

输入以以下格式从标准输入给出:

NN

输出

以整数形式输出答案。


示例输入1

16

示例输出1

73
  • 对于1199之间的正整数xx,最大为xx的与xx有相同位数的正整数为1,2,dots,x1,2,\\dots,x
    • 因此,我们有f(1)=1,f(2)=2,...,f(9)=9f(1)=1,f(2)=2,...,f(9)=9
  • 对于10101616之间的正整数xx,最大为xx的与xx有相同位数的正整数为10,11,dots,x10,11,\\dots,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

一定要在模998244353998244353下计算总和。