A = (-20, 0)
B = (20, 20)
C = (40, -15)
t1, c, a, b = Polygon(A, B, C)
D = (-50, 0)
E = (-35, 0)
d = CircleSector(E, D, A)
F = (-20, 20)
G = (-20, -20)
H = Point(d)
K = Intersect(a, b)
I = Point(d)
J = Intersect(d, c, 1)
f = Line(I, J)
A' = Mirror(A, f)
B' = Mirror(B, f)
C' = Mirror(C, f)
t1', c', a', b' = Polygon(A', B', C')
d' = Mirror(d, f)
d'' = Mirror(d', I)
d'_{1} = Mirror(d, I)
A'_{1} = Mirror(A, I)
B'_{1} = Mirror(B, I)
C'_{1} = Mirror(C, I)
t1'_{1}, c'_{1}, a'_{1}, b'_{1} = Polygon(A'_{1}, B'_{1}, C'_{1})
A'_{2} = Mirror(A, I)
B'_{2} = Mirror(B, I)
C'_{2} = Mirror(C, I)
A'_{3} = Mirror(A, I)
B'_{3} = Mirror(B, I)
C'_{3} = Mirror(C, I)
A'' = Mirror(A', I)
B'' = Mirror(B', I)
C'' = Mirror(C', I)
t1'', c'', a'', b'' = Polygon(A'', B'', C'')
L = Intersect(a'_{1}, b'_{1})
M = Intersect(a'', b'')
g = Line(L, M)
N = Mirror(A'_{1}, g)
O = Mirror(B'_{1}, g)
P = Mirror(C'_{1}, g)
t2, p, n, o = Polygon(N, O, P)
A''' = Mirror(A'', g)
B''' = Mirror(B'', g)
C''' = Mirror(C'', g)
t1''', c''', a''', b''' = Polygon(A''', B''', C''')
L' = Mirror(L, g)
M' = Mirror(M, g)
e = Mirror(d'_{1}, g)
d''' = Mirror(d'', g)
I' = Mirror(I, g)
Q = Mirror(A''', I')
R = Mirror(B''', I')
S = Mirror(C''', I')
t3, s, q, r = Polygon(Q, R, S)
N' = Mirror(N, I')
O' = Mirror(O, I')
P' = Mirror(P, I')
t2', p', n', o' = Polygon(N', O', P')
e' = Mirror(e, I')
h = Mirror(d''', I')