Death toll from floods in South Africa reaches 306