ligeros cambios usando funciones recursivas