Russia and Ukraine have completed a long-awaited exchange of prisoners.
Those freed include 24 Ukrainian sailors and - controversially - a "person of interest" over the downing of flight MH17 which killed 298 people.
The swap is hoped to ease tensions between the two neighbours.
Greeting the Ukrainians at the airport, President Volodymyr Zelensky said: "We have to do all the steps to finish this horrible war." Russia said it was glad its citizens had returned home.
Relations between the two countries deteriorated dramatically in 2014, when Russia annexed Ukraine's Crimean peninsula and Russian-backed rebels began an insurgency in two regions of eastern Ukraine.
More than 13,000 people have been killed in the conflict in Donetsk and Luhansk regions.
In April, Ukrainians elected a new president. Mr Zelensky said his top priority was to end the conflict.
Russian officials have said progress towards a prisoner release is vital for improving the "atmosphere surrounding a settlement of the Ukrainian crisis".
Negotiations on the extremely sensitive issue were held in complete secrecy, with both Ukrainian and Russian officials stressing that any leaks could derail the swap.
Who was part of the prisoner exchange?
Russia has not yet confirmed the names of the prisoners who have been released by Ukraine. It arranged a low-profile arrival at Moscow's Vnukovo airport, with initial reunions kept behind closed doors.
In Ukraine, the scene was very different. The prisoners freed by Russia reunited with their relatives on the tarmac at Kiev's Boryspil airport, surrounded by the press.
The Ukrainian government has since published a list of the 35 prisoners released by Russia.
It includes 24 Ukrainian sailors whom Russia detained off Crimea in November last year.
They were captured along with three naval ships as they attempted to pass through the Kerch Strait, the only route to access to Ukrainian ports on the Sea of Azov. Shots were fired by the Russian navy during the operation, injuring several Ukrainians.
In May an international tribunal ordered Russia to release the sailors and vessels.
Ukrainian film-maker Oleg Sentsov, jailed for 20 years in 2015 for plotting terrorist acts in Crimea in a trial condemned as political by the US and EU, has also arrived home. He was considered Ukraine's number-one political prisoner in Russia.
Roman Sushchenko, a Ukrainian journalist detained in Moscow in 2016 for what Russia described as "conducting espionage activities", was among those freed.
Also on the list are two far-right Ukrainian activists, Mykola Karpyuk and Stanislav Klykh, both arrested in Russia in 2014. They were accused of fighting on the side of Chechen rebels in the first Chechen war in the 1990s and were later jailed.
Russia has not officially confirmed the names of its freed citizens. But the most significant and controversial person Ukraine sent to Russia is Volodymyr Tsemakh, reportedly a commander of air defences for Russian-backed rebels in eastern Ukraine.
Mr Tsemakh, 58, is a "person of interest" in the Dutch-led investigation into the 2014 shooting down over Ukraine of Malaysian Airlines Flight MH17, which led to the deaths of all 298 people on board.
Also included is Yevgeny Mefedov, jailed over deadly clashes between pro-Russian groups and Ukrainian nationalists in the Black Sea port of Odessa in 2014.
Russian-Ukrainian journalist Kyrylo Vyshynsky, accused of treason by Ukraine, was also heading home.
Two former Ukrainian army soldiers who Ukraine says defected to Russia during the annexation of Crimea, Maksim Odintsov and Aleksandr Baranov, are also on the list.
Why is Mr Tsemakh's inclusion on the list controversial?
He is believed to have been a commander of air defences at Snizhne in the self-proclaimed Donetsk People's Republic, one of the Russian-backed rebel areas in eastern Ukraine.
Snizhne is close to where investigators say the missile which shot down the Malaysian Airlines plane in 2014 was fired.
A team of international criminal investigators said in 2016 that the missile had been brought from Russia and fired from a field controlled by Russian-backed separatists.
In a daring operation in June, Ukrainian special forces reportedly smuggled Mr Tsemakh out of rebel-held territory, and he had been due to stand trial in October.
Although he is not a suspect, international prosecutors have said they would like him to remain in Ukraine so they can ask him further questions.
Last week, they urged the authorities in Ukraine not to allow him to travel to Russia.
However, in a court decision on Wednesday he was released from custody.
The Dutch government said it was disappointed with the Ukrainian decision to send him to Russia.