Putin cancels $20 billion of Africa's debt