A = Intersect(xAxis, yAxis)
B = Point(xAxis)
c = Circle(A, B)
C, D = Intersect(c, xAxis)
d = CircleSector(A, C, D)
AB = Distance(A, B)
e = Circle(A, AB * sqrt(2.0) / 2.0)
E, F = Intersect(e, yAxis)
a = OrthogonalLine(E, yAxis)
G, H = Intersect(c, a)
f = CircumcircleSector(G, A, H)
AE = Distance(A, E)
g = Circle(E, AE * sqrt(2.0) / 2.0)
I, J = Intersect(g, yAxis)
b = OrthogonalLine(J, yAxis)
K, L = Intersect(f, b)
h = CircumcircleSector(K, E, L)
JE = Distance(J, E)
k = Circle(J, JE * sqrt(2.0) / 2.0)
M, N = Intersect(k, yAxis)
i = OrthogonalLine(M, yAxis)
O, P = Intersect(h, i)
p = CircumcircleSector(O, J, P)