# Paths structure:
# Dict[Tuple[int, int], Dict[Direction, Tuple[Tuple[int, int], Direction, Weight]]]
def planet_cherry():
    # for reference:
    # https://robolab.inf.tu-dresden.de/planets/Cherry.png
    graph = {
        (6, -2): {90: ((8, -1), 0, 2), 0: ((8, -1), 270, 2), 270: ((5, -2), 90, 1)},
        (8, -1): {270: ((6, -2), 0, 2), 0: ((6, -2), 90, 2)},
        (5, -2): {90: ((6, -2), 270, 1), 270: ((4, -1), 0, 1)},
        (4, -1): {90: ((5, 3), 270, 33), 0: ((5, -2), 270, 1)},
        (5, 3): {90: ((6, 3), 270, 1), 270: ((4, -1), 90, 33)},
        (6, 3): {270: ((5, 3), 90, 1), 0: ((6, 1), 270, 3)},
        (6, 1): {0: ((7, 0), 270, 1), 180: ((7, 2), 270, 1), 270: ((6, 3), 0, 3)},
        (7, 2): {90: ((8, 1), 180, 1), 180: ((8, 3), 270, 1), 270: ((6, 1), 180, 1)},
        (7, 0): {90: ((8, 1), 0, 1), 270: ((6, 1), 0, 1)},
        (8, 1): {0: ((7, 0), 90, 1), 180: ((7, 2), 90, 1)},
        (8, 3): {0: ((9, 2), 270, 1), 90: ((9, 2), 180, 1), 270: ((7, 2), 180, 1)},
        (9, 2): {180: ((8, 3), 90, 1), 270: ((8, 3), 0, 1)},
        (19, -1): {180: ((19, 0), 0, 1)},
        (19, 0): {0: ((19, -1), 180, 1)}

    }
    return graph
