111111
 100009
 10011
 1000000
 8
 10201
 102030
 908172
 123456
 415
 900000
 21
 909090
 314159
 999999
 909823
 987654
 1453
 1435
 98
 10
 2
 1

1
111111
 9
100001 1 1 1 1 1 1 1 1
 1
10011
 1
1000000
 8
1 1 1 1 1 1 1 1
 2
10101 100
 3
101010 1010 10
 9
101111 101011 101010 101010 101010 101010 101010 101000 100000
 6
111111 11111 1111 111 11 1
 5
111 101 101 101 1
 9
100000 100000 100000 100000 100000 100000 100000 100000 100000
 2
11 10
 9
101010 101010 101010 101010 101010 101010 101010 101010 101010
 9
111111 101011 101011 1011 11 1 1 1 1
 9
111111 111111 111111 111111 111111 111111 111111 111111 111111
 9
101111 101111 101101 101100 101100 101100 101100 101100 101000
 9
111111 111111 111111 111111 111110 111100 111000 110000 100000
 5
1111 111 111 110 10
 5
1111 111 111 101 1
 9
11 11 11 11 11 11 11 11 10
 1
10
 2
1 1
 1
1

# QUASI BINARY
# Estacio Pereira, 115110563, estacio.neto@ccc.ufcg.edu.br
# UFCG

# INPUT
n = raw_input()
x = int(n)
f = "1" * (len(n))
f = int(f)
# PROCESS
lista = []
for i in range(f + 1):
	if not "9" in str(i) and not "8" in str(i) and not "7" in str(i) and not "6" in str(i) and not "5" in str(i) and not "4" in str(i) and not "3" in str(i) and not "2" in str(i):
		lista.append(i)
if len(n) == 1:
	print x
	for i in range(x):
		print 1,
else:
	numbers = []
	num = []
	for e in n:
		num.append(int(e))
	while x:
		number = ''
		for i in range(len(num)):
			if num[i]:
				number += '1'
				num[i] -= 1
			else:
				number += '0'
		number = int(number)
		x -= number
		numbers.append(number)
# OUTPUT
if len(n) != 1:	
	print len(numbers)
	for e in numbers:
		print e,
