#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int l, r;
string str;
const int N = 10;
int f[N][2 * N];
int dfs(int u, bool limit, bool first, int sum, int x) {
if(u == str.size()) {
return sum;
}
if(!first && !limit && f[u][sum] != -1) {
return f[u][sum];
}
int res = 0;
if(first) {
res += dfs(u + 1, false, true, sum, x);
}
for(int i = (first ? 1 : 0), up = (limit ? str[u] - '0' : 9); i <= up; i ++) {
res += dfs(u + 1, limit && i == up, false, sum + (i == x), x);
}
if(!first && !limit) {
f[u][sum] = res;
}
return res;
}
int main() {
while(cin >> l >> r, l + r) {
memset(f, -1, sizeof f);
if(l > r) swap(l, r);
l = l - 1 >= 0 ? l - 1 : 0;
for(int i = 0; i <= 9; i ++) {
str = to_string(l);
memset(f, -1, sizeof f);
int le = dfs(0, true, true, 0, i);
str = to_string(r);
memset(f, -1, sizeof f);
int ri = dfs(0, true, true, 0, i);
cout << ri - le << " ";
}
cout << endl;
}
return 0;
}