def search2():
    l, e1, a12, e2, a20, e0, sa = create_circular_linked_list(
        [1, 2, 0], y=220)
    ant = Pointer(e0, 'ant', direction='d.d_2', color=RED, dist=25)
    p = Pointer(e1, 'p', direction='u.u_2', color=RED)
    return [
        l, e1, a12, e2, a20, e0, sa,
        ant, p
    ]
def search1():
    l, e1, a12, e2, a20, e0, sa = create_circular_linked_list([1, 2, 0])
    ant = Pointer(e1, 'ant', direction='d.d_2', color=RED, dist=25)
    p = Pointer(e2, 'p', direction='u.u_2', color=RED)
    c = Circle(a12.middle, "", color=RED, radius=10)
    return [
        l, e1, a12, e2, a20, e0, sa,
        ant, p, c
    ]
def draw():
    l, e1, a12, e2, a23, e3, sa = create_circular_linked_list(
        ["", None, "", ""])
    c1 = Cross(a12, color=RED)
    en = LinkedList((e2.x - 60, e2.y - 40), "", color=RED)
    a1n = Arrow(e1.prox_1, en.start_4, color=RED)
    an2 = Arrow(en.prox_3, e2.start_0, color=RED)
    return [
        l, e1, a12, e2, a23, e3, sa,
        c1, en, a1n, an2,
    ]
def remove():
    l, e1, a12, e2, sa = create_circular_linked_list(
        [1, 2], color=RED, y=220)
    sa = SubArrow(e2.prox_2, e1.start_2, color=RED, size_y=40, size_x1=25)
    p1 = Pointer(e1, 'p', direction='u.u_2', color=RED)
    ant2 = Pointer(e2, 'ant', direction='d.d_2', color=RED, dist=25)
    sa2 = SubArrow(e2.prox_3, e2.start_3, color=BLUE, size_y=20)
    csa = Cross(sa, color=BLUE)
    cl = Cross(l.label, color=BLUE)
    l2 = Pointer(e2, 'l', direction='ul.u_0', color=BLUE)
    return [
        l, e1, a12, e2, sa,
        ant2, p1, sa2, csa, cl, l2
    ]
def draw():
    return (
        create_circular_linked_list([]) +
        create_circular_linked_list([""], x=100)
    )