differentiable scaffolding tree for molecular optimization