1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
t = int(input())

n = [int(x) for x in input().split()]

for dzien in range(1, t + 1):
    pozostaloLiczb = n[dzien - 1]
    wynik = [0] * 10
    badanaWartosc = 0

    while pozostaloLiczb > 0:
        badanaWartosc += 1

        if badanaWartosc < 10:
            wynik[badanaWartosc] += 1
        else:
            tmpWartosc = badanaWartosc

            while tmpWartosc >= 10:
                cyfraNaPozycji1 = int(tmpWartosc % 10)
                cyfraNaPozycji2 = int(tmpWartosc % 100 / 10)
                cyfraNaPozycji3 = int(tmpWartosc % 1000 / 100)
                cyfraNaPozycji4 = int(tmpWartosc % 10000 / 1000)
                cyfraNaPozycji5 = int(tmpWartosc % 100000 / 10000)
                cyfraNaPozycji6 = int(tmpWartosc % 1000000 / 100000)
                cyfraNaPozycji7 = int(tmpWartosc % 10000000 / 1000000)
                cyfraNaPozycji8 = int(tmpWartosc % 100000000 / 10000000)
                cyfraNaPozycji9 = int(tmpWartosc % 1000000000 / 100000000)
                cyfraNaPozycji10 = int(tmpWartosc % 10000000000 / 1000000000)
                cyfraNaPozycji11 = int(tmpWartosc % 100000000000 / 10000000000)
                cyfraNaPozycji12 = int(tmpWartosc % 1000000000000 / 100000000000)

                if (cyfraNaPozycji1 == 0 or
                        cyfraNaPozycji2 == 0 or
                        (tmpWartosc > 100 and cyfraNaPozycji3 == 0) or
                        (tmpWartosc > 1000 and cyfraNaPozycji4 == 0) or
                        (tmpWartosc > 10000 and cyfraNaPozycji5 == 0) or
                        (tmpWartosc > 100000 and cyfraNaPozycji6 == 0) or
                        (tmpWartosc > 1000000 and cyfraNaPozycji7 == 0) or
                        (tmpWartosc > 10000000 and cyfraNaPozycji8 == 0) or
                        (tmpWartosc > 100000000 and cyfraNaPozycji9 == 0) or
                        (tmpWartosc > 1000000000 and cyfraNaPozycji10 == 0) or
                        (tmpWartosc > 10000000000 and cyfraNaPozycji11 == 0) or
                        (tmpWartosc > 100000000000 and cyfraNaPozycji12 == 0)):
                    tmpWartosc = 0
                elif tmpWartosc < 100:
                    tmpWartosc = cyfraNaPozycji1 * cyfraNaPozycji2
                elif tmpWartosc < 1000:
                    tmpWartosc = cyfraNaPozycji1 * cyfraNaPozycji2 * cyfraNaPozycji3
                elif tmpWartosc < 10000:
                    tmpWartosc = cyfraNaPozycji1 * cyfraNaPozycji2 * cyfraNaPozycji3 * cyfraNaPozycji4
                elif tmpWartosc < 100000:
                    tmpWartosc = cyfraNaPozycji1 * cyfraNaPozycji2 * cyfraNaPozycji3 * cyfraNaPozycji4 * cyfraNaPozycji5
                elif tmpWartosc < 1000000:
                    tmpWartosc = cyfraNaPozycji1 * cyfraNaPozycji2 * cyfraNaPozycji3 * cyfraNaPozycji4 * cyfraNaPozycji5 * cyfraNaPozycji6
                elif tmpWartosc < 10000000:
                    tmpWartosc = cyfraNaPozycji1 * cyfraNaPozycji2 * cyfraNaPozycji3 * cyfraNaPozycji4 * cyfraNaPozycji5 * cyfraNaPozycji6 * cyfraNaPozycji7
                elif tmpWartosc < 100000000:
                    tmpWartosc = cyfraNaPozycji1 * cyfraNaPozycji2 * cyfraNaPozycji3 * cyfraNaPozycji4 * cyfraNaPozycji5 * cyfraNaPozycji6 * cyfraNaPozycji7 * cyfraNaPozycji8
                elif tmpWartosc < 1000000000:
                    tmpWartosc = cyfraNaPozycji1 * cyfraNaPozycji2 * cyfraNaPozycji3 * cyfraNaPozycji4 * cyfraNaPozycji5 * cyfraNaPozycji6 * cyfraNaPozycji7 * cyfraNaPozycji8 * cyfraNaPozycji9

            wynik[tmpWartosc] += 1

        pozostaloLiczb -= 1

    print(*wynik, sep = ' ')