first(n) = {my(res = vector(n, i, oo), todo = n-1); res[1] = 1; for(i = 2, oo, c = maxpower(i); if(c <= n && res[c] == oo, todo--; res[c] = i; if(todo == 0, return(res) ) ) ) } maxpower(n) = { my(f = factor(n), res = oo); for(i = 1, #f~, res = min(res, val(n, f[i, 1]) \ f[i, 2]) ); res } addhelp(val, "exponent of prime p in n!") val(n, p) = my(r=0); while(n, r+=n\=p);r