Clinical South Africa thrash India by 31 runs at Paarl