from itertools import product N = input() mod=10**9+7 def count(a): n = len(a) dp=[[0] * 2 for i in range(n+1)] dp[0][0]=1 for i, less in product(range(n), (0,1)): max_d = 9 if less else int(a[i]) for d in range(max_d+1): less_ = less or d < max_d dp[i + 1][less_] = (dp[i + 1][less_] + dp[i][less]*d)%mod return dp dp = count(N) ans = dp[-1][0]+dp[-1][1] dp = count('9'*(len(N)-1)) for i in range(len(N)): ans = (ans+dp[i][0]+dp[i][1])%mod print((ans-1)%mod)