a354699(w,h)={ my(x1=0,y1=0,x2,y2,x3,y3,d12,d13,d23, dist(xa,ya,xb,yb)=(xa-xb)^2+(ya-yb)^2,L=List()); x3=w; y3=h; d13=dist(x1,y1,x3,y3); y2=0; for (x2 = 1, w, d12=dist(x1,y1,x2,y2); d23=(dist(x2,y2,x3,y3)); my(t=Set([d12,d13,d23])); if(#t==3,listput(~L,t)) ); x2=w; for (y2 =1, h-1, d12=dist(x1,y1,x2,y2); d23=(dist(x2,y2,x3,y3)); my(t=Set([d12,d13,d23])); if(#t==3,listput(~L,t)) ); x3=w;y3=0;d13=dist(x1,y1,x3,y3);y2=h; for (x2=0, floor(w/2), d12=dist(x1,y1,x2,y2); d23=(dist(x2,y2,x3,y3)); my(t=Set([d12,d13,d23])); if(#t==3,listput(~L,t)) ); #Set(L) };