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