Hundreds of flights cancelled