https://wikimass.com/cpp/swapping-two-numbers