Cavendish claims 29th stage victory