Implement a Flight class to manage airline bookings with private attributes: flightID (int), availableSeats (int, default 100), and fare (double, default 500.0).
Flight(int id, int seats = 100, double flightFare = 500.0).bookTicket(int count = 1):count > availableSeats, display an error and reject the booking (return false).availableSeats by count and return true.Flight compareFare(Flight f1, Flight f2) returning the Flight object with the cheaper (lower) fare.main(), instantiate flights, book tickets (testing both successful and overbooking scenarios), and find the cheaper flight.[Flight 1] Flight ID: 401 | Open Seats: 50 | Fare: $450.00 [Flight 2] Flight ID: 402 | Open Seats: 100 | Fare: $320.00 [Flight 3] Flight ID: 403 | Open Seats: 5 | Fare: $600.00 [✓] Successfully booked 2 seat(s) on Flight 401 [!] Overbooking rejected for Flight 403: Requested 10, Available 5 Cheaper Flight: Flight ID 402 with fare $320.00 [✓] Flight class & compareFare verified (Time: 0.008s, Memory: 2.1 MB)