import math

num = int(input())

l = []

while num:
    # print(f"--------\n{num}")
    c_str = str(num)
    s_odd = bool(len(c_str) & 1)
    l_str = c_str[0:math.floor(len(c_str)/2)]
    r_str = c_str[0:math.ceil(len(c_str)/2)][::-1] if s_odd else l_str[::-1]
    
    # print(c_str[math.floor(len(c_str)/2):len(c_str)])
    # print(r_str)

    if int(r_str) > int(c_str[math.floor(len(c_str)/2):len(c_str)]):
        # print("ja")
        if num == 10:
            l.append(9)
            num -= 9
            continue
            
        # c_str = str(num - (10**((len(r_str) - 1) if s_odd else len(r_str))))
        c_str = str(num - (10**((len(r_str) - 1) if s_odd else len(r_str))))
        s_odd = bool(len(c_str) & 1)
        # print(c_str)
        l_str = c_str[0:math.floor(len(c_str)/2)]
        r_str = c_str[0:math.ceil(len(c_str)/2)][::-1] if s_odd else l_str[::-1]

        # print(l_str)
        # print(r_str)

        # if s_odd:
        #     r_str_l = list(r_str)
        #     r_str_l[0] = str(int(r_str_l[0]) - 1)
        #     r_str = str(r_str_l)
        # else:
        #     r_str_l = list(r_str)
        #     r_str_l[0] = str(int(r_str_l[0]) - 1)
        #     r_str = str(r_str_l)

        #     l_str_l = list(l_str)
        #     l_str_l[-1] = str(int(l_str_l[-1]) - 1)
        #     l_str = str(l_str_l)

    p = int(l_str + r_str)
    # print(p)

    num -= p

    l.append(p)

print(len(l))
for i in range(len(l)):
    print(l[i])