Mostrar los divisores de N

n1 = 60 (slider from 1 to 100, step 1)
d1 = 0.22 (slider from 0 to 1, step 0.01)
E4 = Corner(4.0)
E1: Corner[4.0] - (0.0, 600.0 / 50.0)
E2: E1 + (990.0 / 50.0, 0.0)
n: round(n1)
d: floor((n - 1.0) * d1) + 1.0
c = Div(n, d)
control = Min((x(E2) - x(E1) - 2.5) / d, (y(E4) - y(E1) - 3.0) / c)
r = Mod(n, d)
texto1: "d = " + d
an = If(control < 1.0, control, 1.0)
E3: Corner[4.0] + (990.0 / 50.0, 0.0)
A: E1 + (1.0, 1.3) - (an / 2.0, an / 2.0)
C: A + an * (d, c)
D: A + an * (0.0, c)
B: A + an * (d, 0.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.0))
cota2 = Vector(C + (0.2, -(0.2)), B + (0.2, 0.0))
cota3 = Vector(A - (-(0.2), 0.2), B - (0.0, 0.2))
cota4 = Vector(B - (0.2, 0.2), A - (0.0, 0.2))
E: A + an * (r, c)
texto5: "d = " + d
lista2 = Sequence(Circle[(x(E1) + k * an + 1.0, y(E1) + c * an + 1.3), an / 2.0], k, 0.0, r - 1.0)
lista1 = Sequence(Sequence[Circle[(x(E1) + k * an + 1.0, y(E1) + j * an + 1.3), an / 2.0], k, 0.0, d - 1.0], j, 0.0, c - 1.0)
cota5 = Vector(D + (0.0, an) + (0.2, 0.2), E + (0.0, an) + (0.0, 0.2))
cota6 = Vector(E + (0.0, an) + (-(0.2), 0.2), D + (0.0, an) + (0.0, 0.2))
texto6: "r = " + r
texto7: n + " = " + c + " x " + d
texto8: "N = " + n
Ptex = If(y(C + D) / 2.0 < 4.0, (C + D) / 2.0 + (-1.0, 1.0), (B + C) / 2.0 + (3.0, 0.0))
divisores = RemoveUndefined(Sequence[If[n / k ≟ Div[n, k], k], k, 1.0, n])
e = false
texto2: "Cociente:  c = " + c
texto3: "Resto:  r = " + r
texto10: n + " es divisible entre " + d
texto9: "Divisores de " + n + " = " + divisores + ""
lista1a = Sequence(Sequence[Circle[(x(E1) + k * an + 1.0, y(E1) + j * an + 1.3), an / 2.0], k, 0.0, d - 1.0], j, 0.0, c - 1.0)
lista2a = Sequence(Circle[(x(E1) + k * an + 1.0, y(E1) + c * an + 1.3), an / 2.0], k, 0.0, r - 1.0)