Russia and Ukraine exchanged hundreds of prisoners of war in a deal brokered by the United Arab Emirates.
The Russian Defense Ministry said it sold 150 Ukrainian soldiers detained for a similar number of Russian forces.
Ukrainian President Volodymyr Zelensky said that 189 Ukrainians had returned to their homeland.
He added that among those released were “defenders of Azovstal and Mariupol”, the Chernobyl nuclear power plant and Snake Island.
Outside a hospital in northern Ukraine, anxious relatives huddled against the bitter winter cold, waiting for their loved ones.
A woman named Alina was waiting for her husband, Oleksandr. He was captured defending the city of Mariupol in 2022.
“I have so many emotions. It's been so hard. I just want to see him,” she said, tears streaming down her face.
Meanwhile, the Russian Defense Ministry said that newly released Russian troops are in Belarus, Russia's ally, and are receiving medical assistance and the opportunity to contact their families.
In a video clip published by Russian Human Rights Commissioner Tatiana Moskalkova, soldiers were seen gathered in front of the trainers wearing military and winter clothing.
“Very soon our men will hug their families and friends and celebrate the New Year on their native land,” she said in an accompanying message.
This was the 59th prisoner exchange since the start of the overall invasion and one of the largest prisoner exchanges to date.
On the Ukrainian side, those released included soldiers, border guards, members of the National Guard, and navy soldiers. Many of them remained in captivity for more than two and a half years, and Ukrainian officials said some of them returned with serious illnesses and injuries.
For some families, the painful uncertainty is over. But thousands more Ukrainians remain detained in Russia and occupied parts of Ukraine.
Officials in Kiev told the BBC that negotiations on a prisoner exchange had become more difficult in recent months – since Russian forces began making significant advances on the battlefield.
Ukraine does not publish the numbers of prisoners of war held by Russia, but the total is believed to be more than 8,000.
Zelensky said two civilians captured in Mariupol were among dozens of soldiers, sergeants, border guards and officers released on Monday.
Zelensky said: “We are working to free everyone from Russian captivity. This is our goal. We do not forget anyone.” He posted pictures showing some of the exchanged men sitting on a bus and raising yellow and blue Ukrainian flags.
In May 2022, Russia declared victory after a months-long battle to seize the region Mariupol, a coastal city in southeastern UkraineWith the surrender of the last fighters defending the Azovstal steel plant in the city.
Russian forces seized Chernobyl in the country's northwest at the start of their invasion of Ukraine in February 2022, but later returned control of the plant to its employees.
The Snake Island in the Black Sea was also captured in 2022 Ukrainian soldiers were captured, but were later exchanged for Russian prisoners.