cat(x,y) = x*10^max(1,#digits(y)) + y deneat(e,o) = cat(cat(e,o),e+o) { mx = 1 000 000; vals = []; for (e=0, oo, for (o=mino=if (e, 0, 1), oo, v = deneat(e,o); if (v>mx, if (o==mino, break (2), vals = setunion(vals, Set(apply(w -> deneat(e,w), [mino..o-1]))); break (1) ); ); ); ); apply(v -> print (n++ " " v), vals) } quit