The cruise ship with a thousand passengers on board that's been drifting in the Indian Ocean for three days without power has finally reached land in the Seychelles.

The Costa Allegra suffered a fire in its engine room on Monday.