#include<iostream>
using namespace std;
char c[10]= {'0','0','0','0','0','0','0','0','0','0'};
char d[10]= {'0','0','0','0','0','0','0','0','0','0'};
int f[10];
char r() {
char s=getchar();
if(s>='0'&&s<='9') {
char i=r();
c[i]=s;
return i-1;
} else {
return 9;
}
}
void dd(int i,bool p) {
char x='9';
if(p){x=c[i];
}
for(d[i]='0'; d[i]<=x; d[i]++) {
bool l=(d[i]==c[i]&&p);
if(i==9) {
bool o=1;
for(int j=0; j<=9; j++) {
if(d[j]=='0'&&o) {
continue;
} else if(o) {
o=0;
}
f[d[j]-'0']++;
}
} else {
dd(i+1,l);
}
}
}
int main() {
r();bool g=0;
for(int m=0; m<=9; m++) {
g=g||(g=='0');
}if(g){cout<<"1\n0\n0\n0\n0\n0\n0\n0\n0\n0\n";
}
dd(0,d[0]==c[0]);
for(int m=0; m<=9; m++) {
cout<<f[m]<<'\n';
}
return 0;
}