n = list(map(int, list(input())))
m = max(n)
supp = []
result = []
for i in range(len(n)):
    supp.append('1' * n[i] + '0' * (m - n[i]))
for i in range(m):
    tmp = ''
    for j in range(len(supp)):
        tmp += supp[j][i]
    result.append(int(tmp))
print(m)
print(*result)

d8d85329b2c330370ba87573934a880c6a2bf772
<mask token>

<mask token>
for i in range(len(n)):
    supp.append('1' * n[i] + '0' * (m - n[i]))
for i in range(m):
    tmp = ''
    for j in range(len(supp)):
        tmp += supp[j][i]
    result.append(int(tmp))
print(m)
print(*result)

n = list(map(int, list(input())))
m = max(n)
supp = []
result = []
for i in range(len(n)):
    supp.append('1' * n[i] + '0' * (m - n[i]))
for i in range(m):
    tmp = ''
    for j in range(len(supp)):
        tmp += supp[j][i]
    result.append(int(tmp))
print(m)
print(*result)
