How to split the costs and charge the travellers sharing a ride? aligning system's optimum with users’ equilibrium