Consider the following half-finished UML class diagram. It includes three classes that model different kinds of birds: pigeons, penguins, and ducks. Complete the UML diagram by specifying the necessary relationships among classes, such that the model satisfies all the following requirements:
1. Pigeons can fly but cannot swim.
2. Penguins can swim but cannot fly.
3. Ducks can swim and fly.
4. Pigeons, penguins, and ducks are birds.
Note that the system is due to be implemented in an object-oriented language that supports only single inheritance.
FlyingBehavior
SwimmingBehavior
layEgg()
fly()
swim()
Pigeon
Penguin
Duck