#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
ll l,r;
ll f[211][211];
ll num[211];
ll mod=1e9+7;
ll e;
ll dfs(ll pos,ll x,ll limit,ll sum,ll p){
if(pos==0&&p==0){
if(e!=1||x<=num[pos]){
return 1;
}
else{
return 0;
}
}
if(!pos) return sum;
if(!limit&&f[pos][sum]!=-1){
return f[pos][sum];
}
ll ans=0;
ll up=limit?num[pos]:9;
if(p==1){
for(ll i=0;i<=up;i++){
ans+=dfs(pos-1,x,limit&&i==num[pos],sum+(i==x),p);
}
}
else{
for(ll i=1;i<=up;i++){
ans+=dfs(pos-1,x,limit&&i==num[pos],sum+(i==x),1);
}
ans+=dfs(pos-1,x,0,0,0);
}
if(!limit){
f[pos][sum]=ans;
}
return ans;
}
ll solve(ll a,ll k){
e=0;
if(a==0){
num[++e]=0;
}
while(a){
num[++e]=a%10;
a/=10;
}
return dfs(e,k,1,0,0);
}
int main()
{
memset(f,-1,sizeof f);
cin>>l>>r;
ll ans=0;
for(ll i=0;i<=9;i++){
cout<<solve(r,i)-solve(l-1,i)<<" ";
ans=0;
}
return 0;
}
90分 WA#9