cambiado algoritmo primer intento (again =_=)