We can postpone updating children we don 't need their new values now.  Since we are not yet updating children of si,  we need to set lazy flags for the children
lazy [ si * 2 + 1 ] += lazy [ si ] ; NEW_LINE lazy [ si * 2 + 2 ] += lazy [ si ] ; NEW_LINE