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
A Ukip candidate has been suspended two days before the election, as a video emerged apparently showing him threaten to shoot his Tory rival
A man has been charged with stealing his own barrister's mobile phone at a magistrates' court in Bexleyheath, Kent.
A rapist who attacked an 80-year-old woman in her own home has been jailed for life, as police urge other victims to come forward.