Riot police in Brazil have fired tear gas in a bid to disperse thousands of protesters in Sao Paulo and Rio de Janeiro who have marched against the cost of hosting the football World Cup. Some demonstrators hurled stones while others burned tyres and blocked roads. They say they are angry that billions of dollars are being spent on next month's football tournament, rather than social projects and housing. Protests also took place in many other cities, including the capital Brasilia. Teachers and civil servants, among others, were also on strike across Brazil. Local media reported that, in the last 24 hours alone, 234 people were arrested. Recife, the state capital, is due to host five matches during the World Cup.