Thousands of flights delayed or canceled