\\ product of Eisenstein integers prd(u,v) = { (real(u)*real(v) - imag(u)*imag(v)) + (imag(u)*real(v)+real(u)*imag(v)-imag(u)*imag(v))*I; } n=-1 emit(p) = { my (x=real(p)-imag(p), y=imag(p)); print (n++ " " y); } { p = [1]; for (k=1, 6, u = apply(z -> p[#p] + prd(z, 2+I), p); v = apply(z -> u[#u] + prd(z, -1-I), p); w = apply(z -> v[#v] + z, p); p = concat([p, u, v, w]); ); emit(0); apply(emit, p); } quit