# Classes of 2D Geometric Shapes

In the realm of 2-dimensional geometrical shapes, polygons form the basics. In this challenge, your task is to create classes representing four types of polygons: Polygon, Triangle, Rectangle, and Pentagon.

A polygon is defined by its number of sides. Therefore, the

`Polygon`

class should contain an attribute `sides`

representing the number of sides of the polygon.The

`Polygon`

class also needs a method `describe()`

which prints "A polygon" when called.Next, create

`Triangle`

, `Rectangle`

, and `Pentagon`

classes that inherit from the `Polygon`

class. Each of these classes should override the `describe()`

method to print "A triangle", "A rectangle", and "A pentagon" respectively, when called. This way, each specific type of polygon will be able to announce what it is when the `describe()`

method is called.Input | Output |

`polygon, triangle, rectangle, pentagon = Polygon(10), Triangle(), Rectangle(), Pentagon(); polygon.describe(); print('Polygon sides:', polygon.sides); triangle.describe(); print('Triangle sides:', triangle.sides); rectangle.describe(); print('Rectangle sides:', rectangle.sides); pentagon.describe()` | A polygon
Polygon sides: 10
A triangle
Triangle sides: 3
A rectangle
Rectangle sides: 4
A pentagon |

#### Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB