A = (2, 1)
B = Point(Circle[A, 5.0])
a = Segment(A, B)
b = OrthogonalLine(A, a)
c = OrthogonalLine(B, a)
d = Circle(A, 5.0)
C, D = Intersect(d, b)
e = Circle(B, 3.0)
E = Intersect(e, c, 2.0)
poly1, a_1, b_1, e_1, d_1 = Polygon(A, B, E, D)
F = (-6, 6)
G = Point(Circle[F, 5.0])
f = Segment(F, G)
g = OrthogonalLine(F, f)
h = OrthogonalLine(G, f)
k = Circle(F, 5.0)
p = Circle(G, 3.0)
H = Intersect(k, g, 2.0)
I = Intersect(p, h, 2.0)
poly2, f_1, g_1, i, h_1 = Polygon(F, G, I, H)
J = (-6, 1)
K = Point(Circle[J, 8.0])
j = Segment(J, K)
l = OrthogonalLine(K, j)
q = Circle(K, 3.0)
L = Intersect(q, l, 1.0)
poly3, l_1, j_1, k_1 = Polygon(J, K, L)
M = (2, -2)
N = Point(Circle[M, 8.0])
m = Segment(M, N)
n = OrthogonalLine(N, m)
r = Circle(N, 3.0)
O = Intersect(r, n, 1.0)
poly4, o, m_1, n_1 = Polygon(M, N, O)
P = (-6, 6)
Q = (2, 6)
R = (2, -2)
S = (-6, -2)
poly5, p_1, q_1, r_1, s = Polygon(P, Q, R, S)