#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;
}