ll@A,@B,X=A*A+B*B;VLL a{0,0};setS;rep(X){while(S.count(a))a={(X+a[0]-B)%X,(a[1]+A)%X};S.insert(a);a={(a[0]+A)%X,(a[1]+B)%X};}rep(d,2)for(auto&b:S)wt((b[0]+d*(X+A-B))%X,(b[1]+d*A)%X);