cool number swap algo