kk 혐오자

시간 제한1초메모리 제한1024 MB

요약
숫자 k와 아주 큰 수 N이 주어질 때, f(x)를 x의 십진 표현에서 숫자 k를 모두 지운 수라고 하면 f(1)부터 f(N)까지의 합을 1,000,000,007로 나눈 나머지를 구합니다.
난이도

보통10점 중 7점

유형
수학, 동적 계획법, 조합론, 문자열
정답자
아직 제출이 없습니다

문제

당신은 숫자 kk를 싫어한다. 그래서 수를 쓸 때, 숫자 kk는 쓰지 않으려 한다.

f(x)f(x)를, xx의 10진법 표현에서 숫자 kk를 모두 지운 수로 정의하자. 만일 xx의 10진법 표현이 숫자 kk로만 이루어져 있다면 f(x)f(x)를 00으로 정의한다.

예를 들어, k=3k = 3일 때 f(3135)=15f(3135) = 15, f(2345)=245f(2345) = 245, f(8185)=8185f(8185) = 8185, f(333333)=0f(333333) = 0이다.

숫자 kk와 수 NN이 주어질 때, f(1)+f(2)+...+f(N)f(1) + f(2) + ... + f(N)을 1,000,000,0071\\,000\\,000\\,007로 나눈 나머지를 구하여라.

입력

첫째 줄에 숫자 kk가 주어진다.

둘째 줄에 수 NN이 주어진다.

출력

첫째 줄에 f(1)+f(2)+...+f(N)f(1) + f(2) + ... + f(N)을 1,000,000,0071\\,000\\,000\\,007로 나눈 나머지를 출력하라.

제한

  • 1≤k≤91 \le k \le 9
  • 1≤N<10100,0001 \le N < 10^{100\\,000}
  • 입력으로 주어지는 수는 모두 정수다.

예제2

  1. 예제 1

    입력
    3
    5
    
    예상 출력
    12
    
  2. 예제 2

    입력
    3
    4860000
    
    예상 출력
    465808830