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
def md(n):
	a = 1
	for d in str(n):
		a*=int(d)
	return a
	
def mdr(n):
	while n>9:
		n = md(n)
	return n

def p1(n):
	a = 0
	i = 1
	while i<=n:
		a += 1
		i=i*10+1
	return a

from random import randint
def test(n,k):
	p = [0]*10
	for i in range(k):
		l = randint(1,n+1)
		p[mdr(l)]+=1
	for d in range(10):
		p[d]= p[d]*n/k
	print(p)
	
def calc(x):
	a=[0]*10
	p = 0
	ans = []
	for i in range(1,x[-1][-1]+1):
		a[mdr(i)]+=1
		if i==x[p][1]:
			ans.append((x[p][0],a[:]))
			p+=1
	return ans

t = int(input())
x = sorted(enumerate(map(int,input().split())),key=lambda k:k[1])
ans=sorted(calc(x))
for a in ans:
	print(*a[1])