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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <iostream>
#include <vector>
#include <string>
using namespace std;

int ost_cyfra(long long a)
{
	while (a >= 10)
	{
		int iloczyn = 1;
		while (a > 0)
		{
			int cyfra = a % 10;
			iloczyn *= cyfra;
			a /= 10;
		}
		a = iloczyn;
	}

	return a;
}

int main()
{
	ios_base::sync_with_stdio(0);
	cin.tie();

	short t;
	cin >> t;

	vector<long long> v(t, 0);
	vector<vector<short>> ile;

	for (short i = 0; i < t; i++)
		ile.push_back({0,0,0,0,0,0,0,0,0,0});

	cin.ignore();

	string str, liczba = "";
	getline(cin, str);



	short licznik = 0;
	for (char c : str)
	{
		if (c == ' ')
		{
			v[licznik] = stoi(liczba);
			liczba = "";
			licznik++;
			continue;
		}

		liczba += c;
	}
	v[licznik] = stoi(liczba);

	//for (int i = 0; i < v.size(); i++)
	//	cout << v[i] << endl;

	for (short i = 0; i < v.size(); i++)
		for (short j = 1; j <= v[i]; j++)
		{
			short wynik = ost_cyfra(j);
			ile[i][wynik]++;
		}





	for (short i = 0; i < v.size(); i++)
	{
		for (short j = 0; j < 10; j++)
		{
			cout << ile[i][j] << " ";
		}
		cout << "\n";
	}
}