iteratively deduct