O = (0, 0)
I = (1, 0)
f = Line(O, I)
c = Circle(O, I)
A, B = Intersect(c, f)
C = Midpoint(O, B)
g = OrthogonalLine(O, f)
D = Intersect(c, g, 2)
d = Circle(C, D)
E = Intersect(d, f, 2)
F = Midpoint(E, O)
h = OrthogonalLine(F, f)
G = Intersect(c, h, 2)
H = Intersect(c, h, 1)
e = Circle(G, I)
k = Circle(H, I)
J = Intersect(c, e, 2)
K = Intersect(c, k, 2)
i = Segment(I, G)
j = Segment(G, J)
l = Segment(J, K)
m = Segment(K, H)
n = Segment(H, I)
p = Circle(J, G)