https://techiworks.com/swap-two-numbers-without-using-third-variable/