y

z

9

O

E

D

K

L

M

N

S

V

y

Z

9

z

X

T

O

P

Q

R

1

2

3

1

2

3

B = Intersect(xAxis, yAxis)
F = Point(Ray[B, Vector[(1, 0)]])
G = Mirror(B, F)
H = Mirror(F, G)
I = Mirror(G, H)
C = Mirror(H, I)
c = Circle(B, F)
S = Intersect(c, yAxis, 1)
V = Mirror(B, S)
Y = Mirror(S, V)
Z = Mirror(V, Y)
D = Mirror(Y, Z)
f = Line(D, C)
K = Mirror(Z, f)
L = Mirror(Y, f)
M = Mirror(V, f)
N = Mirror(S, f)
E = Mirror(B, f)
T = Mirror(I, f)
X = Mirror(H, f)
A''_1 = Mirror(G, f)
B'_1 = Mirror(F, f)
lista1: {B, F, G, H, I, C}
g = Segment(D, E)
h = Segment(Z, B'_1)
i = Segment(Y, A''_1)
j = Segment(V, X)
k = Segment(S, T)
l = Segment(B, C)
m = Segment(C, E)
n = Segment(N, I)
p = Segment(H, M)
q = Segment(L, G)
r = Segment(F, K)
s = Segment(D, B)
A = PointIn(y > 0)
t = OrthogonalLine(A, yAxis)
O = Point(Ray[A, Vector[(1, 0)]])
a = Segment(B, A)
b = Segment(F, A)
d = Segment(G, A)
e = Segment(H, A)
f_1 = Segment(A, I)
g_1 = Segment(A, C)
h_1 = Segment(O, B)
O_2 = Intersect(b, h_1)
P = Intersect(d, h_1)
Q = Intersect(e, h_1)
R = Intersect(f_1, h_1)
U = Intersect(g_1, h_1)
i_1 = OrthogonalLine(O_2, yAxis)
j_1 = OrthogonalLine(P, yAxis)
k_1 = OrthogonalLine(Q, yAxis)
l_1 = OrthogonalLine(R, yAxis)
m_1 = OrthogonalLine(U, yAxis)
C_1 = Intersect(m_1, a)
D_1 = Intersect(m_1, b)
E_1 = Intersect(m_1, d)
F_1 = Intersect(m_1, e)
G_1 = Intersect(m_1, f_1)
W = Intersect(a, i_1)
A_1 = Intersect(j_1, a)
B_1 = Intersect(k_1, a)
H_1 = Intersect(l_1, a)
I_1 = Intersect(g_1, l_1)
J_1 = Intersect(g_1, k_1)
K_1 = Intersect(j_1, g_1)
L_1 = Intersect(i_1, g_1)
n_1 = Segment(W, L_1)
p_1 = Segment(A_1, K_1)
q_1 = Segment(B_1, J_1)
r_1 = Segment(B_1, H_1)
s_1 = Segment(H_1, I_1)
t_1 = Segment(C_1, U)
a_1 = Segment(B, U)
b_1 = Segment(B, E)
M_1 = Intersect(k, r)
N_1 = Intersect(j, q)
O_1 = Intersect(i, p)
P_1 = Intersect(h, n)
c_1 = Segment(A, O)
J = Intersect(h, r)
Q_1 = Intersect(h, q)
R_1 = Intersect(h, p)
S_1 = Intersect(b, s_1)
T_1 = Intersect(d, s_1)
U_1 = Intersect(e, s_1)