função e algoritmo xD