funziona! bisogna solo gestire i casi limite e controllare la cosa dei cicli