#include<bits/stdc++.h>
#define int long long
const int N = 2e5+5;
using namespace std;
int num[15],now;
int me[15][1500][2][2];
int dfs(int pos,int sum,bool lim,int lead)
{
int ans=0;
if(me[pos][sum][lim][lead]!=-1)return me[pos][sum][lim][lead];
if(pos==0)return sum;
int up=lim?num[pos]:9;
for(int i=0;i<=up;i++)
{
if(i==0&&lead)ans+=dfs(pos-1,sum,lim&&i==up,1);
else if(i==now)ans+=dfs(pos-1,sum+1,lim&&i==up,0);
else ans+=dfs(pos-1,sum,lim&&i==up,0);
}
return me[pos][sum][lim][lead]=ans;
}
int p(int x){
memset(me,-1,sizeof me);
memset(num,-1,sizeof num);
int len=0;
while(x){
len++;
num[len] = x%10;
x/=10;
}
return dfs(len,0,1,1);
}
signed main(){
int a,b;
cin>>a>>b;
for(now=0;now<=9;now++){
cout<<p(b) - p(a-1)<<" ";
}
return 0;
}