A = (1, -5)
B = (11, -5)
poly1, a, b, c, d, C, D = Polygon(A, B, 4)
E = Point(d)
F = Point(b)
e = Segment(E, F)
G = Intersect(c, b)
H = Intersect(d, a)
f = Segment(G, H)
I = Point(e)
J = (9, 1)
g = Segment(I, J)
K = (5, 3)
L = (7, -3)
h = Segment(K, L)
M = (9, -1)
N = (10, -4)
i = Segment(M, N)
K' = Mirror(K, e)
L' = Mirror(L, e)
h' = Segment(K', L')
K'_1 = Mirror(K, f)
L'_1 = Mirror(L, f)
h'_1 = Segment(K'_1, L'_1)
I' = Mirror(I, f)
J' = Mirror(J, f)
g' = Segment(I', J')
I'_1 = Mirror(I, e)
J'_1 = Mirror(J, e)
g'_1 = Segment(I'_1, J'_1)
M' = Mirror(M, e)
N' = Mirror(N, e)
i' = Segment(M', N')
M'_1 = Mirror(M, f)
N'_1 = Mirror(N, f)
i'_1 = Segment(M'_1, N'_1)
K'' = Mirror(K', f)
L'' = Mirror(L', f)
h'' = Segment(K'', L'')
M'' = Mirror(M', f)
N'' = Mirror(N', f)
i'' = Segment(M'', N'')
O = Mirror(I'_1, f)
P = Mirror(J'_1, f)
j = Segment(O, P)
M''' = Mirror(M'', e)
N''' = Mirror(N'', e)
i''' = Segment(M''', N''')
Q = Mirror(M'_1, e)
R = Mirror(N'_1, e)
k = Segment(Q, R)
Q' = Mirror(Q, f)
R' = Mirror(R, f)
k' = Segment(Q', R')
O' = Mirror(O, e)
P' = Mirror(P, e)
j' = Segment(O', P')
I'' = Mirror(I', e)
J'' = Mirror(J', e)
g'' = Segment(I'', J'')
S = Mirror(M''', f)
T = Mirror(N''', f)
l = Segment(S, T)
O'' = Mirror(O', f)
P'' = Mirror(P', f)
j'' = Segment(O'', P'')
I''' = Mirror(I'', f)
J''' = Mirror(J'', f)
g''' = Segment(I''', J''')