Answer the following question:

who gave the name cape of good hope?
John II of Portugal