\\ search terms up to 2 ^ max w - 1 max w = 10 a = vector(2^max w-1) unseen = 1 { forstep (k=1, oo, 2, s = Set(); f = 1/k; while (f>=1, f/=2); while (!set search(s, f), for (w=1, max w, n = floor(f*2^w); if (n>0 && !a[n], a[n] = k; while (unseen <= #a && a[unseen], print (unseen " " a[unseen]); unseen++; ); ); ); s = setunion(s, Set(f)); f = frac(f*2); ); if (unseen > #a, break; ); ); } quit