### BEGIN SOLUTION
def neutralise():
pose()
prend()
avance()
def pose_derriere():
droite()
droite()
pose()
droite()
droite()
def avance_toiles_cailloux():
while regarde() != Mur and regarde() != Sortie:
if regarde() == Toile:
neutralise()
elif regarde() == Caillou:
pose_derriere()
prend()
else:
avance()
debut()
avance()
avance()
gauche()
avance()
while regarde() != Caillou:
droite()
droite()
avance()
gauche()
avance()
avance()
gauche()
avance()
prend()
droite()
droite()
avance()
avance()
gauche()
while regarde() == Vide:
avance()
neutralise()
pose_derriere()
avance()
gauche()
avance()
avance()
prend()
avance()
avance()
gauche()
neutralise()
pose_derriere()
avance()
prend()
avance_toiles_cailloux()
pose_derriere()
droite()
avance()
avance()
droite()
prend()
avance_toiles_cailloux()
gauche()
avance()
avance()
gauche()
avance_toiles_cailloux()
pose_derriere()
ouvre()
### END SOLUTION