#include #define REP(i,n) for(int i=0;i<(n);i++) #define ALL(v) (v).begin(),(v).end() #define int long long using namespace std; //----------------------------------------------------------------------- const int mod=1e9+7; int dp[10010][2][2][3][8]; //pos,less,has3,mod3,mod8 int solve(string s,bool less){ int N=s.size(); memset(dp,0,sizeof(dp)); dp[0][0][0][0][0]=1; REP(i,N) REP(j,2) REP(k,2) REP(l,3) REP(m,8){ int lim=j?9:s[i]-'0'; REP(d,lim+1){ (dp[i+1][j|d>a>>b; int r1=solve(a,1); int r2=solve(b,0); int ans=(r2-r1+mod)%mod; cout<