Optimal Differentially Private Learning with Public Data