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 = int(input())
def giveIndex(v, quasi, start, end):
    mid = (start + end)//2
    if start == end:
        return start
    if quasi[mid] <= v:
        return giveIndex(v, quasi, start, mid)
    else:
        return giveIndex(v, quasi, mid + 1, end)

quasi = []
isQuasi = {}
l = 0
for i in range(1, 10**6 + 1):
    temp = i
    flag = 1
    while temp > 0:
        if temp % 10 != 1 and temp % 10 != 0:
            flag = 0
            break
        temp = temp // 10
    if flag:
        quasi.append(i)
        isQuasi[i] = l
        l += 1

n = int(input())
dp = [float('inf') for i in range(n + 1)]
dp[0] = 0
minIndex = [0 for i in range(n + 1)]
j = 0
for i in range(1, n + 1):
    if isQuasi.get(i, -1) != -1:
        dp[i] = 1
        minIndex[i] = isQuasi[i]
        j = isQuasi[i]
    else:
        for q in quasi[min(j - 2, 0): j]:
            if q > i:
                break
            dp[i] = min(dp[i], dp[i - q] + 1)
            if dp[i] == 1 + dp[i - q]:
                minIndex[i] = isQuasi[q]
        # dp[i] = 1 + dp[i - quasi[j]]
        # print('quasi', quasi[j])
        # minIndex[i] = j
    # print(dp)
print(dp[n])
ans = []
while n > 0:
    ans.append(quasi[minIndex[n]])
    n -= quasi[minIndex[n]]
for i in ans:
    print(i, end=' ')
print('')

# print(isQuasi[101])