사전순 정렬
시간 제한1초메모리 제한1024 MB
구간 [A, B]에 속한 정수들의 부분집합 가운데 문자열 사전순과 수 크기순이 일치하는 것의 개수를 10^9+7로 나눈 나머지를 구한다.
문제
미렉에게는 정수가 들어 있는 파일이 여러 개 있었고, 파일마다 정수를 오름차순으로 정렬해야 했다. 이름을 짐작하기 쉬운 명령줄 도구를 찾아 실행했더니 그 도구는 정수를 전부 문자열로 취급해서 사전순으로 정렬했다. 그런데도 파일은 여전히 크기순 오름차순이었고, 미렉은 이 결과에 놀랐다.
정수 집합의 사전순과 크기순이 일치한다는 것은, 원소의 십진 표기를 문자열로 정렬한 결과가 원소를 값으로 정렬한 결과와 같다는 뜻이다. 즉 집합의 두 원소 마다 의 문자열이 의 문자열보다 사전순으로 앞서야 한다.
문자열은 앞에서부터 한 글자씩 비교하고, 한쪽이 다른 쪽의 접두사이면 짧은 쪽이 앞선다. 그래서 1은 10보다 앞서지만 98은 100보다 뒤에 온다.
구간 가 주어질 때, 집합 의 부분집합 중 사전순과 크기순이 일치하는 것이 몇 개인지 구한다. 공집합과 원소가 하나뿐인 부분집합은 모두 조건을 만족한다.
입력
첫째 줄에 두 정수 와 가 주어진다. (, )
출력
첫째 줄에 조건을 만족하는 의 부분집합의 개수 을 출력한다. 답이 매우 커질 수 있으므로 으로 나눈 나머지를 출력한다.
힌트
, 일 때 조건을 만족하는 부분집합은 , , , , , , 이다.