#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
  • 11 以上 99 以下の正整数 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 となります。
  • 1010 以上 1616 以下の正整数 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 で割った余りを求めることに注意してください。