digraph {
    "Node(value=3, rank=2)" [label="3⁽³⁾"]; #done
    "Node(value=1, rank=1)" [label="1⁽²⁾"]; #done
    "Node(value=4, rank=0)" [label="4⁽¹⁾"]; #done
    "Node(value=7, rank=1)" [label="7⁽²⁾", color="red"]; #done
    "Node(value=0, rank=0)" [label="0⁽¹⁾"]; #done
    "Node(value=2, rank=0)" [label="2⁽¹⁾"]; #done
    "Node(value=5, rank=1)" [label="5⁽²⁾"]; #done
    "Node(value=6, rank=0)" [label="6⁽¹⁾"]; #done
    "Node(value=8, rank=0)" [label="8⁽¹⁾"]; #done

    "nil1" [label="nil"]
    "nil2" [label="nil"]
    "nil3" [label="nil"]
    "nil4" [label="nil"]
    "nil5" [label="nil"]
    "nil6" [label="nil"]
    "nil7" [label="nil"]
    "nil8" [label="nil"]
    "nil9" [label="nil"]
    "nil10" [label="nil"]
    "nil11" [label="nil"]
    "Node(value=9, rank=0)" [label="9⁽¹⁾", color="red"]; #done

    "Node(value=3, rank=2)" -> "Node(value=1, rank=1)" #done
    "Node(value=1, rank=1)" -> "Node(value=0, rank=0)" #done
    "Node(value=1, rank=1)" -> "Node(value=2, rank=0)" #done
    "Node(value=3, rank=2)" -> "Node(value=5, rank=1)" #done
    "Node(value=5, rank=1)" -> "Node(value=4, rank=0)" #done
    "Node(value=5, rank=1)" -> "Node(value=7, rank=1)" [color="red"] #done
    "Node(value=7, rank=1)" -> "Node(value=6, rank=0)" #done
    "Node(value=7, rank=1)" -> "Node(value=8, rank=0)" #done

    "Node(value=8, rank=0)" -> "nil1"
    "Node(value=8, rank=0)" -> "Node(value=9, rank=0)" [color="red"] #done

    "Node(value=0, rank=0)" -> "nil2"
    "Node(value=0, rank=0)" -> "nil3"
    "Node(value=2, rank=0)" -> "nil4"
    "Node(value=2, rank=0)" -> "nil5"
    "Node(value=4, rank=0)" -> "nil6"
    "Node(value=4, rank=0)" -> "nil7"
    "Node(value=6, rank=0)" -> "nil8"
    "Node(value=6, rank=0)" -> "nil9"
    "Node(value=9, rank=0)" -> "nil10"
    "Node(value=9, rank=0)" -> "nil11"
}