atcoder#ABC295F. [ABC295F] substr = S

[ABC295F] substr = S

配点 : 500500

問題文

TT 個のテストケースについて、数字のみからなる文字列 SS と正整数 L,RL,R が与えられるので、以下の問題を解いてください。

正整数 xx に対して f(x)=f(x)= ( xx を ( 先頭に 00 を含まないように ) 書き下した文字列の連続部分列のうち SS と合致するものの個数 ) と定義します。

例えば S=S= 22 であるとき、f(122)=1,f(123)=0,f(226)=1,f(222)=2f(122) = 1, f(123) = 0, f(226) = 1, f(222) = 2 となります。

このとき、 k=LRf(k)\displaystyle \sum_{k=L}^{R} f(k) を求めてください。

制約

  • 1T10001 \le T \le 1000
  • SS は数字のみからなる長さ 11 以上 1616 以下の文字列
  • L,RL,R1LR<10161 \le L \le R < 10^{16} を満たす整数

入力

入力は以下の形式で標準入力から与えられる。casei\rm{case}_iii 個目のテストケースを表す。

TT

case1\rm{case}_{1}

case2\rm{case}_{2}

\vdots

caseT\rm{case}_{\it{T}}

各テストケースは以下の形式である。

SS LL RR

出力

全体で TT 行出力せよ。 そのうち ii 行目には ii 番目のテストケースに対する答えを整数として出力せよ。

6
22 23 234
0295 295 295
0 1 9999999999999999
2718 998244353 9982443530000000
869120 1234567890123456 2345678901234567
2023032520230325 1 9999999999999999
12
0
14888888888888889
12982260572545
10987664021
1

この入力には 66 個のテストケースが含まれます。

  • 11 つ目のケースは S=S= 22 ,L=23,R=234,L=23,R=234 です。- f(122)=f(220)=f(221)=f(223)=f(224)==f(229)=1f(122)=f(220)=f(221)=f(223)=f(224)=\dots=f(229)=1
    • f(222)=2f(222)=2
    • 以上より、このケースに対する答えは 1212 です。
  • f(122)=f(220)=f(221)=f(223)=f(224)==f(229)=1f(122)=f(220)=f(221)=f(223)=f(224)=\dots=f(229)=1
  • f(222)=2f(222)=2
  • 以上より、このケースに対する答えは 1212 です。
  • 22 つ目のケースは S=S= 0295 ,L=295,R=295,L=295,R=295 です。- f(295)=0f(295)=0 となることに注意してください。
  • f(295)=0f(295)=0 となることに注意してください。