implementação do loop externo, melhorou mais um pouco