Russia has freed jailed Ukrainian pilot Nadiya Savchenko in a prisoner swap with two Russians held by Ukraine.
Ms Savchenko was sentenced to 22 years in jail for killing two Russian journalists in eastern Ukraine, charges she denied, but was released after two years.
The two Russians - Yevgeny Yerofeyev and Alexander Alexandrov - were earlier flown from Kiev to Moscow.
In an emotional address to journalists at Kiev airport, Ms Savchenko thanked them for bringing attention to her case and those of other Ukrainians held captive in Russia, saying their work ensured her release.
She was pardoned by Russian President Vladimir Putin before her return to Ukraine.
Mr Putin said he had acted after meeting relatives of the two dead Russian journalists, who had asked him to show mercy to Ms Savchenko.
For her part, Ms Savchenko was in a defiant mood.
"I don't want to tell you about my anger and my rage and my hatred. I hope that with time, these feelings will give way to wisdom.
"I don't want people to want war, I want people to want peace but unfortunately peace is only possible through war."
Ms Savchenko was brought home on the plane of the Ukrainian president, Petro Poroshenko, who travelled to Moscow for the prisoner swap. He has described her as a national hero.
"I am ready to once again give my life for Ukraine on the battlefield," said Ms Savchenko.
Meanwhile Mr Poroshenko pardoned the two Russian nationals. Ukraine said the pair were members of Russian military intelligence, but Russia insisted they were not on active duty when they were captured in eastern Ukraine.
They were sentenced to 14 years in jail last month after being found guilty of waging an "aggressive war" against Ukraine, committing a terrorist act and using weapons to provoke an armed conflict.
Ms Savchenko was captured in 2014, as pro-Russian separatists in Ukraine's eastern Donetsk and Luhansk regions battled government forces.
She was charged with directing artillery fire that killed the two journalists, but she said she was kidnapped before that attack and handed over the border to the Russian authorities.
Her time in jail saw her mount a hunger strike and she was elected in absentia to Ukraine's parliament and the Parliamentary Assembly of the Council of Europe.