ll@a,@b,g=gcd(a,b),l; a/=g; b/=g; l=a*a+b*b; rep(o,2){ rep(c,g){ rep(d,g){ rep(i,l){ wt((a*(i+o)%l+l*c)*g,(b*i%l+l*d)*g); } } } }