Vodafone drops Galaxy S price to $29