2024.2.29
import java.awt.FontFormatException;
import java.awt.geom.AffineTransform;
import java.awt.image.AreaAveragingScaleFilter;
import java.awt.image.BandCombineOp;
import java.awt.image.DataBufferInt;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc=new Scanner(System.in);
BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw1=new PrintWriter(System.out);
int[] a=new int[10];
String[] a1=br1.readLine().split(" ");
int n = Integer.parseInt(a1[0]);
ss1(n, a);
chuli(n, a);
for(int ii=0;ii<=9;ii++){
System.out.println(a[ii]);
}
}
public static void chuli(int n, int a[])
{
int c = weishu(n);
for (int i = 0; i < c; ++i)
{
a[0] -= (int)Math.pow(10.0, i);
}
}
public static void ss1(int n, int a[])
{
int c = weishu(n);
if (c == 1)
{
for (int i = 0; i <= n; ++i)
{
a[i]++;
}
return;
}
int m = n / (int)Math.pow(10.0, c - 1);
int r = n % (int)Math.pow(10.0, c - 1);
for (int i = 0; i <= 9; ++i)
{
a[i] += m * cishu(c - 1);
}
for (int i = 0; i < m; ++i)
{
a[i] += (int)Math.pow(10.0, c - 1);
}
a[m] += r + 1;
int cr = weishu(r);
if (cr != c - 1)
{
a[0] += (c -cr - 1) * (r + 1);
}
ss1(r, a);
}
public static int weishu(int n)
{
String b="";
b=b+n;
return b.length();
}
public static int cishu(int n)
{
if (n == 0)
{
return 1;
}
return n * (int)Math.pow(10.0, n - 1);
}
}