Beginners Guide: Singular control Dynamical programming