three-sum (106.899)