def findexp(target, list, preceeding):
    if not list:
        if target == 0:
            return [preceeding]
        else:
            return []
    else:
        head, *tail = list
        r = []
        r.extend(findexp(target - head, tail, preceeding + [head]))
        if preceeding:
            r.extend(findexp(target + head, tail, preceeding + [-head]))
            *preceeding_init, preceeding_tail = preceeding
            blank_append = 10 * preceeding_tail + head
            new_target = target + preceeding_tail
            r.extend(findexp(new_target - blank_append, tail, preceeding_init + [blank_append]))
        return r

items = findexp(100, [1,2,3,4,5,6,7,8,9], [])
#pretty print
print(*map(lambda x: '%s. %s = %s'  % (x[1], '+'.join(map(str,x[0])).replace('+-','-'), sum(x[0])), zip(items, range(1,len(items)+1))), sep='\n')