fixed flaw in FindLargestValueBySwapping and added FindLargestValueBySwappingLong