#include #include #include #include using namespace std; using namespace atcoder; using mint=modint1000000007; mint retsum(string n){ mint t=mint(n.back()-'0'); if(n.length()==1) return t*(t+1)/2; string s=n.substr(0,n.length()-1); string sminus1=s; for(int d=s.length()-1;d>=0;d--){ if(s[d]=='0'){ sminus1[d]='9'; }else{ sminus1[d]=s[d]-1; break; } } return t*(t+1)*retsum(s)/2+(t+10)*(9-t)*retsum(sminus1)/2+45; } int main(){ string n; vector su; map dp; cin>>n; cout<