Funcoes recursivas implementadas