1부터 N까지의 수로 만든 공집합이 아닌 부분집합 중, 모든 수의 자릿수를 모았을 때 0부터 9가 각각 많아야 한 번씩만 나오는 것의 개수를 센다.
1부터 NNN까지의 정수로 이루어진 집합 SSS가 있다.
집합 SSS의 부분 집합 가운데 좋은 집합이 몇 개인지 구하는 프로그램을 작성하시오.
좋은 집합은 원소로 들어 있는 모든 수를 10진법으로 적어 놓았을 때, 0부터 9까지의 각 숫자가 전체를 통틀어 최대 한 번만 나오는 집합이다. 공집합은 세지 않는다.
예를 들어 {12, 345, 67890}과 {47, 109}는 좋은 집합이고, {147, 342}는 숫자 4가 두 번 나오므로 좋은 집합이 아니다.
첫째 줄에 NNN이 주어진다. (1≤N≤1091 \le N \le 10^91≤N≤109)
집합 SSS의 부분 집합 가운데 좋은 집합의 개수를 1,000,000,007로 나눈 나머지를 출력한다.