Mostrar los divisores de N

n1 = 60 (slider from 1 to 100, step 1)
d1 = 15 (slider from 1 to n1, step 1)
E4 = Corner(4)
E1: Corner[4] - (0, 600 / 50)
E2: E1 + (740 / 50, 0)
n: round(n1)
d: d1
c = Div(n, d)
control = Min((x(E2) - x(E1) - 2.5) / d, (y(E4) - y(E1) - 3) / c)
r = Mod(n, d)
texto1: "d = " + d
an = If(control < 1, control, 1)
A: E1 + (1, 1.3) - (an / 2, an / 2)
C: A + an * (d, c)
D: A + an * (0, c)
B: A + an * (d, 0)
polígono1, a, b, c_1, d_1 = Polygon(A, B, C, D)
texto4: "c = " + c
cota1 = Vector(B + (0.2, 0.2), C + (0.2, 0))
cota2 = Vector(C + (0.2, -0.2), B + (0.2, 0))
cota3 = Vector(A - (-0.2, 0.2), B - (0, 0.2))
cota4 = Vector(B - (0.2, 0.2), A - (0, 0.2))
E: A + an * (r, c)
texto5: "d = " + d
lista2 = Sequence(Circle[(x(E1) + k * an + 1, y(E1) + c * an + 1.3), an / 2], k, 0, r - 1)
lista1 = Sequence(Sequence[Circle[(x(E1) + k * an + 1, y(E1) + j * an + 1.3), an / 2], k, 0, d - 1], j, 0, c - 1)
cota5 = Vector(D + (0, an) + (0.2, 0.2), E + (0, an) + (0, 0.2))
cota6 = Vector(E + (0, an) + (-0.2, 0.2), D + (0, an) + (0, 0.2))
texto6: "r = " + r
texto7: n + " = " + c + " x " + d
texto8: "N = " + n
Ptex = If(y(C + D) / 2 < 4, (C + D) / 2 + (-1, 1), (B + C) / 2 + (3, 0))
divisores = RemoveUndefined(Sequence[If[n / k ≟ Div[n, k], k], k, 1, n])
e = false
lista1a = Sequence(Sequence[Circle[(x(E1) + k * an + 1, y(E1) + j * an + 1.3), an / 2], k, 0, d - 1], j, 0, c - 1)
lista2a = Sequence(Circle[(x(E1) + k * an + 1, y(E1) + c * an + 1.3), an / 2], k, 0, r - 1)
texto2: " Cociente:  c = " + c + " 
 Resto:       r = " + r + " "
texto10: " " + n + " es divisible entre " + d + "  
 " + d + " es un divisor de " + n1 + " 
 " + n1 + " es un múltiplo de " + d + ""
texto9: "Divisores de " + n + " : " + divisores + ""
E3: Corner[4] + (740 / 50, 0)