niente ho letto male :P
avevo capito che i secondi due cicli ricontrollavano entrambi gli array da capo, invece controllano solo gli elementi rimasti