a = vector(2^14) cat(x,y) = x*2^max(1, #binary(y)) + y { for (n=0, #a, v=if (n, a[n], 0); for (k=0, oo, w=cat(n, k^2); if (w>#a, break ); if (w, a[w] = max(a[w], v+k); ); ); print (n " " v); ); } quit