Tens of thousands of people in Brazil staged another day of protest against President Jair Bolsonaro, in particular for his chaotic handling of the pandemic, which has claimed nearly 460,000 lives here.
In downtown Rio de Janeiro, some 10,000 people wearing masks marched through the streets, with some chanting "Bolsonaro genocide" or "Go away Bolsovirus."
Similar rallies were held in other major cities, the latest in a wave of anger against Bolsonaro that began months ago. After the United States, Brazil has the world's second highest coronavirus death toll.
At the outset of the pandemic, the far right Bolsonaro dismissed Covid-19 as "a little flu" and as the death toll has risen steadily he has gone on to infuriate people in other ways, opposing stay-at-home measures and masks, touting ineffective medications, refusing offers of vaccines, and failing to anticipate oxygen shortages that left patients to suffocate.
One of the themes of the rally Saturday was how many lives might have been saved if the Bolsonaro government had started Brazil's vaccination drive earlier. The drive is going slowly and has sputtered frequently for lack of supplies.
"We must stop this government. We must say 'enough is enough,'" businessman Omar Silveira told AFP at the Rio rally.
Of Bolsonaro, he said: "He is a murderer, a psychopath. He has no feelings. He does not feel, as we do. He cannot perceive the disaster that he is causing."
Demonstrators also assailed Bolsonaro for allowing deforestation of the Amazon and land seizures from indigenous people, and said he is racist.
Rallies were held Saturday in other major cities such as the capital Brasilia, Salvador in the northeast and Belo Horizonte in the southeast.
Brasilia saw its largest rally since the start of the pandemic as people marched on Congress, where a senate commission is investigating Bolsonaro's handling of the health crisis.
The past two weekends supporters of Bolsonaro held demonstrations in support of him -- and at his request -- as his approval rating plummeted to a record low of 24 percent.