{ n=0; for (v=1, oo, d=digits(v); s=select(sign, setbinop((i,j)->fromdigits(d[i..j]), [1..#d])); s2=select(w->w<=v, setbinop((i,j)->i+j, s, s)); s3=select(w->w<=v, setbinop((i,j)->i+j, s2, s)); if (setsearch(s3, v), for (x=1, #s, for (y=x, #s, for (z=y, #s, if (s[x]+s[y]+s[z]==v, print (n++ " " v); \\ print (n++ " " s[x]); \\ print (n++ " " s[y]); \\ print (n++ " " s[z]); break (3); ); ); ); ); ); ); } quit