Algoritmo pronto, faltando detalhes finais.