N=input()

Memo={}
Mod=10**9+7

X=[0]*(10)
X[0]=0
for i in range(1,10):
    X[i]=X[i-1]+i

DP=[[0,0] for _ in range(len(N))]

DP[0][0]=int(N[0])
DP[0][1]=DP[0][0]-1

for i,r in enumerate(N[1:],1):
    D=DP[i]
    E=DP[i-1]
    r=int(r)

    if r!=0:
        D[0]=((E[0]+1)*X[r  ]+(E[1]+1)*(X[9]-X[r]))%Mod
        D[1]=((E[0]+1)*X[r-1]+(E[1]+1)*(X[9]-X[r-1]))%Mod
    else:
        D[0]=D[1]=(E[1]+1)*(X[9]-X[0])%Mod
print(DP[-1][0])