Implementação final do algoritimo.