{ T = vector(141, n, vector(n)); nb = vector(#T); u = 1; m = 0; time = vector(1); v = 1; for (n=1, oo, for (o=1, oo, while (#time < o*v, time = concat(time, vector(#time)); ); if (time[o*v]+1<=o*v, time[o*v]++; if (o*v<=#T, T[o*v][nb[o*v]++] = n; ); v=o; break; ); ); while (nb[u]==u, for (k=1, u, print (m++ " " T[u][k]); ); if (u++>#nb, break (2); ); ); ); } quit