#DP1029. Segment Sum

Segment Sum

Segment Sum

题面翻译

给定 l,r,kl, r, k,求 [l,r][l, r] 之间的各数位上包含的不同数字不超过 kk 个的所有数的和。答案对 998244353998244353 取模。

保证 1lr1018,1k101 \leq l \leq r \leq 10^{18}, 1 \leq k \leq 10

题目描述

You are given two integers l l and r r ( lr l \le r ). Your task is to calculate the sum of numbers from l l to r r (including l l and r r ) such that each number contains at most k k different digits, and print this sum modulo 998244353 998244353 .

For example, if k=1 k = 1 then you have to calculate all numbers from l l to r r such that each number is formed using only one digit. For l=10,r=50 l = 10, r = 50 the answer is 11+22+33+44=110 11 + 22 + 33 + 44 = 110 .

输入格式

The only line of the input contains three integers l l , r r and k k ( 1lr<1018,1k10 1 \le l \le r < 10^{18}, 1 \le k \le 10 ) — the borders of the segment and the maximum number of different digits.

输出格式

Print one integer — the sum of numbers from l l to r r such that each number contains at most k k different digits, modulo 998244353 998244353 .

样例 #1

样例输入 #1

10 50 2

样例输出 #1

1230

样例 #2

样例输入 #2

1 2345 10

样例输出 #2

2750685

样例 #3

样例输入 #3

101 154 2

样例输出 #3

2189

提示

For the first example the answer is just the sum of numbers from l l to r r which equals to $ \frac{50 \cdot 51}{2} - \frac{9 \cdot 10}{2} = 1230 $ . This example also explained in the problem statement but for k=1 k = 1 .

For the second example the answer is just the sum of numbers from l l to r r which equals to 234523462=2750685 \frac{2345 \cdot 2346}{2} = 2750685 .

For the third example the answer is $ 101 + 110 + 111 + 112 + 113 + 114 + 115 + 116 + 117 + 118 + 119 + 121 + 122 + 131 + 133 + 141 + 144 + 151 = 2189 $ .