Russia and Ukraine have exchanged 100 prisoners of war from each side in the nearly two-year-old war, with the United Arab Emirates acting as an intermediary, both countries said on Thursday.
Russia's Defence Ministry, in a post on the Telegram messaging app, said returning soldiers would undergo medical examinations in Moscow.
It noted the UAE's "humanitarian mediation," as did Ukrainian President Volodymyr Zelenskyy and the Ukrainian body overseeing exchanges of POWs.
Zelenskyy, writing on Telegram, said the majority of those brought home had taken part in the three-month defense of the Sea of Azov port of Mariupol, eventually captured by Russian forces in May 2022.
"We always remember our people in captivity, everyone. We need to get everyone back. We are working on that every day," Zelenskiy wrote, singling out the help extended by the UAE.
Pictures alongside the post showed servicemen draped in the blue and yellow national flag, embracing and speaking on mobile phones.
A Russian Defence Ministry video posted on Telegram showed servicemen boarding a bus and chatting animatedly among themselves and on phones.
Ukraine's Coordinating Committee on Dealing with Prisoners of War said 28 of the returning servicemen were injured or ill.
It said 84 had taken part in the defense of Mariupol, with the others serving in other parts of the Donetsk and Luhansk regions, partly occupied by Russian forces.
Kyrylo Budanov, head of the Ukrainian Defence Ministry's Intelligence Directorate, told reporters at the site of the servicemen's return that 3,135 Ukrainian POWs had now been brought home.
In a video posted online, he urged Ukrainians to disregard skepticism about the time involved in a complicated process.
"As you can see, it has taken a bit of time, but the only thing that matters is the result. Look over there and you have the answer to your question," Budanov said.
"As for how we are achieving this, sorry. You won't get such answers until all the heroes are home."