{ mx = 100; tri = vector(mx, k, []); rem = sum(k=1, #tri, k); \\ T(3n, k) = 3n * 2^(k-1) forstep (n=3, #tri, 3, tri[n] = vector(#tri-n+1, k, n * 2^(k-1)); rem -= #tri[n]; ); \\ other values for (n=1, oo, my (x=n); while (1, if (x <= #tri && #tri[x] < #tri-x+1, tri[x] = concat(tri[x], n); rem--; ); if (x==1, break; ); x = if (x%2, 3*x+1, x/2); ); if (rem==0, break; ); ); my (i=0); for (d=1, #tri, for (k=1, d, my (n=d-k+1); print (i++ " " tri[n][k]); ); ); } quit