Russian Prime Minister Vladimir Putin has performed in front of Hollywood stars for a cancer charity event in St Petersburg.

The event, with a host of special guests, was in aid of children diagnosed with cancer.