#include <bits/stdc++.h>
using namespace std;
long long l, r;
long long dp_dfs[20][20], num[20];
long long dfs(int len, bool same, int cnt, bool zero, int x) {
long long sum = 0;
if (len == 0) {
return cnt;
}
if (dp_dfs[len][cnt] != -1 && zero && same) {
return dp_dfs[len][cnt];
}
for (int i = 0; i < 10; ++i) {
if (!same && i > num[len]) {
break;
}
sum += dfs(len - 1, same || (i < num[len]), cnt + ((!zero || i > 0) && (i == x)), zero && (i == 0), x);
}
if (!zero && same) {
dp_dfs[len][cnt] = sum;
}
return sum;
}
int answer(long long n, int x) {
memset(dp_dfs, -1, sizeof(dp_dfs));
int len = 0;
while (n > 0) {
num[++len] = n % 10;
n /= 10;
}
return dfs(len, false, 0, true, x);
}
void happy_coder() {
cin >> l >> r;
for (int i = 0; i < 10; ++i) {
cout << answer(r, i) - answer(l - 1, i) << " ";
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
happy_coder();
return 0;
}