Denouncing attacks on human rights, press freedom and dissent, more than 2,000 people protested in Helsinki Sunday as the city prepares to host an historic US-Russia summit.
In a festive atmosphere and warm sunshine, slogans and chants were directed at both presidents, Donald Trump and Vladimir Putin, a day ahead of their meeting in Finland's capital.
"Helsinki calling for human rights," read the banner at the head of the march, which culminated in a rally in the city's central Senate Square.
Police said 2,000-2,500 people attended. There was no figure immediately available from organisers.
"Whiny demented man-baby meets evil master spy. What could go wrong?" read another banner made by a Finnish woman.
Kira Vorlick, an American woman aged 30 who works in Finland's booming mobile game industry, said she left California a year ago "to get away from" Trump.
"After the indictment of the Russian agents, he should not have met with Putin," she added, referring to the indictment of 12 Russian military intelligence operatives in a long-running probe into whether Russia hacked Trump's Democratic opponents in the 2016 elections.
Another sign read "Free children, jail Trump," referring to the US administration's much-vilified policy of separating undocumented child immigrants from their parents.
"The world's going to shit and we need to make our voices heard when we can," Finnish man Hannu Jaakkola, a 37-year-old events organiser, said.
The crowd repeated a refrain heard at many anti-Trump protests including one that drew tens of thousands to London as the president visited Britain last week: "No Trump, no KKK, no fascist USA!"
But in Helsinki, which lies close to the Russian border, there was plenty of heat on Putin too.
Another Finnish man, who works as an elderly-care nurse, held a sign in both English and Russian saying "Putin prison for lifetime".
He declined to give his name for fear of being targeted by some of Helsinki's many Russian residents.
"Putin's such a troublemaker and he is our neighbour, unfortunately. He's scary for us and for the Baltic states," he said.
"He's been spreading fear in Britain too, in Salisbury. He's a madman," he added, after the British government accused Moscow of unleashing a deadly nerve agent in the English city. Russia denies the charge.
One banner at the Helsinki protest demanded the release of Ukrainian filmmaker Oleg Sentsov, who has been on hunger strike in a Russian prison for two months.
Banners reading "Respect Ukraine" and "Make human rights great again" were also on show, along with Palestinian flags.
Finland's top-selling newspaper Helsingin Sanomat got in on the act, paying for 300 billboards on the route from Helsinki's airport to the downtown summit venue to say to both leaders: "Mr President, welcome to the land of free press."
Several smaller protests are planned for Monday when Putin and Trump are due to hold their talks in Helsinki's presidential palace.
Police on guard outside the Presidential Palace in Helsinki, Finland ahead of Monday's summit between US President Donald Trump and his Russian counterpart Vladimir Putin