abstract data types (adefine polygon adt to represent geometric polygon and provide set of appropriate operations (bprovide python implementation of your polygon adt anyone who is involved in many activities typically uses calendar to keep track of the various activities colleges commonly maintain several calendars such as an academic calendara school events calendarand sporting events calendar we have defined an activities calendar adt below that can keep track of one activity per day over given range of dates select data structure and implement the adt activitiescalendardatefromdateto )creates new empty activities calendar initialized to the given range of dates the date range can be specified for any non-overlapping period the only requirements are that datefrom must precede dateto and dateto cannot overlap the day and month of datefrom for the next year length ()returns the number of activities on the calendar getactivitydate )returns the string that describes the activity for the given date if an activity exists for the given dateotherwisenone is returned addactivitydateactivity )adds the given activity description to the calendar for the given date the date must be within the valid date range for the calendar displaymonthmonth )displays to standard output all activities for the given month the display includes the year and name of the month and the list of activities for the month the display of each activity includes the day of the month on which the activity occurs and the description of the activity python provides numeric class for working with floating-point values but not all real numbers can be represented precisely on computer since they are stored as binary values in applications where the precision of real numbers is importantwe can use rational numbers or fractions to store exact values fractionsuch as consists of two partsboth of which are integers the top valuewhich can be any integer valueis known as the numerator the bottom valuewhich must be greater than zerois known as the denominator (adefine fraction adt to represent and store rational numbers the adt should include all of the common mathematical and logical operations in additionyour adt should provide for the conversion between floatingpoint values and fractions and the ability to produce string version of the fraction (bprovide python implementation of your fraction adt