Ukraine and Russia said Monday they had returned around 100 soldiers each in the latest prisoner exchange between the two warring countries.

Kyiv and Moscow have periodically carried out prisoner swaps since Russia invaded Ukraine more than a year ago.

"We are returning 100 of our people," the Ukrainian president's chief of staff Andriy Yermak said on Telegram.

"They are military people, sailors, border guards, national guardsmen."

Yermak said the exchange included troops who held out in Mariupol -- the devastated port city captured by Russia last spring -- and that some were "seriously injured."

He called the exchange "difficult" and thanked officials for "doing what may often seem impossible."

Yermak posted a video of women in uniform being greeted with flowers.

Moscow said it had returned 106 of its servicemen in the exchange.

"As a result of negotiations, 106 Russian soldiers were returned from territories under Kyiv control," the Russian defence ministry said.

It said they will be taken by plane to Moscow "for treatment and rehabilitation."

"All those that were freed will be given the necessary medical and psychological help," the ministry added.

The previous Russian-Ukrainian prisoner exchange was last month. Authorities announced on March 7 that 130 Ukrainians were swapped for 90 Russian servicemen.