parts(n, {base=2}) = \ my (p=vector(0)); \ while (n>0, \ my (m=1); \ while (1, \ p = concat(p, n%m ); \ if (m>n, break); \ m *= base; \ ); \ n \= base; \ ); \ return (vecsort(p,,8)) { seen = 1; \\ avoid 0 for (n=1, 10 000, p = parts(prime(n)); for (i=1, #p, if (!bittest(seen, p[i]), print (n " " p[i]); seen += 2^p[i]; break; ); ); ) } quit