m = 1000000007 N = input() a, b = {1: 1}, {} for c in N: na = {} nb = {1: 1} x = int(c) # a to a if x != 0: for k in a: z = x * k % m na.setdefault(z, 0) na[z] += a[k] na[z] %= m # a to b for y in range(1, x): for k in a: z = y * k % m nb.setdefault(z, 0) nb[z] += a[k] nb[z] %= m # b to b for y in range(1, 10): for k in b: z = y * k % m nb.setdefault(z, 0) nb[z] += b[k] nb[z] %= m a, b = na, nb b[1] -= 1 result = 0 for k in a: result += k * a[k] result %= m for k in b: result += k * b[k] result %= m print(result)