반복수
시간 제한1초메모리 제한1024 MB
K자리 수를 두 번 이상 이어 붙인 뒤 뒤에서 몇 자리를 잘라 만든 수 가운데 A 이상 B 이하이면서 M으로 나누어떨어지는 것의 개수를 센다.
문제
하나의 자리 수를 원하는 만큼 연속해서 이어 붙인 뒤, 뒤에서부터 개 이상의 연속된 숫자를 제거하여 만들어낸 자리 이상의 수를 -반복수라 한다. 가령, 는 자리 수 을 세 번 이어 붙인 뒤, 마지막 두 자리 숫자를 제거하여 만들어낸 -반복수이며, 는 자리수 미만의 수이므로 -반복수가 아니다.
이상 이하의 -반복수 중, 으로 나누어 떨어지는 수의 개수를 구해보자.
입력
첫째 줄에 정수 이 공백으로 구분되어 주어진다.
출력
이상 이하의 -반복수 중, 으로 나누어 떨어지는 수의 개수를 출력한다.
힌트
는 bit 정수형 타입 변수 범위를 초과할 수 있으므로, C/C++의 long long, Java의 Long 등 비트 정수형 타입을 사용해야 한다.