#include using namespace std; typedef long long LL; typedef __int128 INT; #define CIN_ONLY if(1) struct cww{cww(){ CIN_ONLY{ ios::sync_with_stdio(false);cin.tie(0); } }}star; #define fin "\n" #define FOR(i,bg,ed) for(int i=(bg);i<(ed);i++) #define REP(i,n) FOR(i,0,n) #define ALL(v) (v).begin(),(v).end() #define fi first #define se second #define pb push_back #define DEBUG if(0) #define REC(ret, ...) std::function template inline void chmin(T &l,T r){l=min(l,r);} template inline void chmax(T &l,T r){l=max(l,r);} template istream& operator>>(istream &is,vector &v){ for(auto &it:v)is>>it; return is; } const int mod=1e9+7; INT len1[100]; LL sum1[100]; LL mul1[100]; INT len2[100]; LL sum2[100]; LL mul2[100]; LL getsum(LL l){ int id=60; LL res=0; while(l>0){ while(l0){ while(l0){ LL y=x%10; if(y==0)y=10; mul1[i]=mul1[i]*y%mod; sum1[i]=(sum1[i]+y)%mod; x/=10; } } LL K,L,R; cin>>K>>L>>R; if(K>60)K=60; if(R>len1[K]){ cout<<-1<0){ LL y=x%10; if(y==0)y=10; mul2[i]=mul2[i]*y%mod; sum2[i]=(sum2[i]+y)%mod; x/=10; } } LL A=mod+getsum(R)-getsum(L-1); LL B=getmul(R); if(L!=1)B*=invMod(getmul(L-1)); cout<