#P0604. 满足条件的数

满足条件的数

题目描述

给定四个整数 m(1m2000)m(1 \le m \le 2000)d(0d9)d(0 \le d \le 9)llrr1lr<1020001 \le l \le r \lt 10^{2000}),且 llrr 对应的十进制数的位数相同。

你需要找到 [l,r][l, r] 范围内存在多少个同时满足如下两个条件的整数 a(lar)a(l \le a \le r)

  1. aa 从高到低偶数位上的数字都是 dd,同时 aa 从高到低奇数位上的数字都不是 dd
  2. aa 能被 mm 整除。

由于满足条件的数可能很多,所以你只需要输出满足条件的数的个数模 109+710^9 + 7 的结果即可。

输入格式

第一行,两个整数 mmdd1m2000,0d91 \le m \le 2000, 0 \le d \le 9)。

第二行,一个整数 ll

第三行,一个整数 rr

数据保证 llrr 位数相同,且不超过 20002000 位。

输出格式

输出一个整数,表示满足条件(区间 [l,r][l, r] 范围内所有偶数位为 dd 奇数为不为 dd 且能被 mm 整除)的数的个数模 109+710^9 + 7 的结果。

样例

2 6
10
99
8
2 0
1
9
4
19 7
1000
9999
6

说明/提示

样例解释

  • 样例1:满足条件的数有 16,26,36,46,56,76,86,9616, 26, 36, 46, 56, 76, 86, 96
  • 样例2:满足条件的数有 2,4,6,82, 4, 6, 8
  • 样例3:满足条件的数有 1767,2717,5757,6707,8797,97471767, 2717, 5757, 6707, 8797, 9747

数据规模与约定

  • 对于 20%20\% 的数据,m20m \le 20llrr 不超过 1010 位;
  • 对于 50%50\% 的数据,m200m \le 200llrr 不超过 200200 位;
  • 对于 100%100\% 的数据,1m2000,0d91 \le m \le 2000, 0 \le d \le 9llrr 不超过 20002000 位。