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

n = input()
ans = [0]*8
a=[]
N = n
all_num = []
for i in xrange(8):
    all_num+=[[]]
while(N>=(10**7)):
    ans[7]+=1
    all_num[7]+=[10**7]
    N -= 10**7
while(N>=(10**6)):
    ans[6]+=1
    a+=[10**6]
    N -= 10**6
    all_num[6]+=[10**6]
while(N>=(10**5)):
    ans[5]+=1
    a+=[10**5]
    N -= 10**5
    all_num[5]+=[10**5]
while(N>=(10**4)):
    ans[4]+=1
    a+=[10**4]
    N -= 10**4
    all_num[4]+=[10**4]
while(N>(10**3)):
    ans[3]+=1
    a+=[10**3]
    N -= 10**3
    all_num[3]+=[10**3]
while(N>=(10**2)):
    ans[2]+=1
    a+=[10**2]
    N -= 10**2
    all_num[2]+=[10**2]
while(N>=(10**1)):
    ans[1]+=1
    a+=[10**1]
    N -= 10**1
    all_num[1]+=[10**1]
while(N>=1):
    ans[0]+=1
    a+=[1]
    N -= 1
    all_num[0]+=[1]
res = all_num[7]
x = min(len(res),ans[6])
X = max(0,ans[6]-x)+x
y = 10**6
for i in xrange(x):
    res[i]+= y
for i in xrange(X-x):
    res+=[y]

x = min(len(res),ans[5])
X = max(0,ans[5]-x)+x
y = 10**5
for i in xrange(x):
    res[i]+= y
for i in xrange(X-x):
    res+=[y]    

x = min(len(res),ans[4])
X = max(0,ans[4]-x)+x
y = 10**4
for i in xrange(x):
    res[i]+= y
for i in xrange(X-x):
    res+=[y]    

x = min(len(res),ans[3])
X = max(0,ans[3]-x)+x
y = 10**3
for i in xrange(x):
    res[i]+= y
for i in xrange(X-x):
    res+=[y]    

x = min(len(res),ans[2])
X = max(0,ans[2]-x)+x
y = 10**2
for i in xrange(x):
    res[i]+= y
for i in xrange(X-x):
    res+=[y]    

x = min(len(res),ans[1])
X = max(0,ans[1]-x)+x
y = 10**1
for i in xrange(x):
    res[i]+= y
for i in xrange(X-x):
    res+=[y]    
x = min(len(res),ans[0])
X = max(0,ans[0]-x)+x
y = 1
for i in xrange(x):
    res[i]+= y
for i in xrange(X-x):
    res+=[y]    
print len(res)
for i in res:
    print i,
