3SUM

Squashed commit of the following:

commit e5ee762e234bedabdcb8e4d5b85677fe205a7626
Author: Ferran Garriga <ferran.garriga@truphone.com>
Date:   Tue Mar 4 19:59:21 2014 +0000

    3SUM