Riot police in Brazil have fired tear gas to disperse thousands of protesters in Sao Paulo and Rio de Janeiro who marched against the cost of hosting the football World Cup.
Some demonstrators hurled stones while other 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.
In Rio, aerial images showed hundreds of people marching in rush-hour traffic on a main thoroughfare. The city will host the final match of the World Cup on 13 July.
Protesters there and in Sao Paulo, Brazil’s biggest city, clashed with police before beginning to disperse.
The number of people on the streets was much lower than during similar protests last year.
Some of those taking part, however, promised the demonstrations would get bigger and more frequent as the World Cup gets closer.
Last June, more than a million people took to the street over poor public services, corruption and the high cost of hosting the World Cup.
The tournament is due to kick off on 12 June.
The demonstrations began earlier in the day in Sao Paulo, with one of the biggest protests in the city’s Itaquera district near the Arena Corinthians stadium, which will host the tournament’s opening match.
Protesters there demanded housing, and not stadiums, be built in accordance with Fifa standards, in reference to world football’s governing body.
The government has tried to downplay the scale of Thursday’s unrest, arguing it was not related to the World Cup.
“From what I’ve seen, these are specific claims by workers. I’ve seen nothing that is related to the (World) Cup,” Brazilian Sports Minister Aldo Rebelo said.
“There’s no reason to panic ahead of receiving three million Brazilian tourists and 600,000 foreign tourists (for the tournament).”
The planned protests coincide with a range of strikes, including one by the police force in the north-eastern state of Pernambuco.
The army was deployed there to provide additional support after some robberies and looting, before the strike ended on its third day.
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.