versao funcionando para os varios casos de teste