#P4349. [CERC2015] Digit Division

[CERC2015] Digit Division

Description

给定一个长度为 nn 的十进制数字序列。需要将该序列划分为一个或多个连续的子序列,使得每个子序列在被解释为十进制数时都能被给定的整数 mm 整除。

求不同的划分方式的数量,结果对 109+710^9 + 7 取模。当判断两个划分是否不同的时候,我们只考虑子序列边界的位置,而不是数字本身。例如,划分 2222|2222222|2 被认为是不同的。

Input Format

第一行包含两个整数 nnmm (1n3000001 \leq n \leq 300000, 1m10000001 \leq m \leq 1000000) —— 序列的长度和除数。第二行包含一个恰好由 nn 个数字组成的字符串。

Output Format

输出一个整数,即不同划分的数量,对 109+710^9 + 7 取模。

4 2
1246
4
4 7
2015
0

Hint

Central Europe Regional Contest 2015 Problem D。

题面翻译由 ChatGPT-4o 提供。