Corretto algoritmo: ora funzionante