Tens of thousands of Brazilians took to the streets on Wednesday calling for a crackdown on corruption and better public services.
In Belo Horizonte 40,000 people gathered to demand better education and healthcare as Brazil's third-largest city hosted a Confederations Cup semi-final between Brazil and Uruguay - a warm-up for the 2014 World Cup.
Youths threw stones at police who used teargas to stop marchers just a mile from the stadium. A banner hung from a bridge read "FIFA go home".
More top news
Tickets for next year's Glastonbury Festival in Somerset have sold out in just over thirty minutes.