숫자 문자열을 각 블록이 m으로 나누어떨어지도록 나누는 방법 수를 10^9+7로 나눈 나머지를 구합니다.
길이가 nnn인 십진수 숫자열이 주어진다. 이 숫자열을 연속한 부분 숫자열 하나 이상으로 나누되, 각 부분 숫자열을 십진수로 읽은 값이 모두 정수 mmm으로 나누어떨어지게 해야 한다.
이런 분할이 몇 가지인지 세어 109+710^9 + 7109+7로 나눈 나머지를 구하라. 두 분할이 서로 다른지는 숫자가 아니라 경계 위치로만 판단한다. 예를 들어 2|22와 22|2는 서로 다른 분할이다.
2|22
22|2
첫째 줄에 숫자열의 길이 nnn과 나누는 수 mmm이 주어진다 (1≤n≤3000001 \le n \le 3000001≤n≤300000, 1≤m≤10000001 \le m \le 10000001≤m≤1000000).
둘째 줄에 숫자 nnn개로 이루어진 문자열이 주어진다. 맨 앞자리가 0일 수도 있다.
분할의 개수를 109+710^9 + 7109+7로 나눈 나머지를 한 줄에 출력한다.