Se usi i set l'ordine in cui vengono estratti gli elementi è casuale per cui l'esecuzione può variare ogni volta.
Inoltre noto che hai degli errori anche per altri motivi
E IndexError= list index out of range
E RecursionError= maximum recursion depth exceeded while calling a Python object