s = 0 unseen = 1 seen(v) = bittest(s, v) see(v) = s = bitor(s, 2^v); while (seen(unseen), unseen++) { a = vector(10 000); u = 1; for (n=1, oo, m = n*(n-1)/2; rem = n; for (v=unseen, #a, if (bitand(n,v)==0 && !seen(v), m++; if (v<=#a, a[v] = m; while (a[u], print (u " " a[u]); if (u++ > #a, break (3); ); ); ); see(v); if (rem--==0, break; ); ); ); ); } quit