Exercise 1 - 09/13/2020. Covers the concepts in the OOPConcepts set of slides. Lessons on 5/22 and 5/27. Some of the concepts here might not have been covered in class yet. 1. Write a class called Person that has a single attribute EMPLID. Write a paramterized constructor to initialize the object. Inherit this class into another class called Employee, with attributes Name and Pay rate. Write a paramterized constructor to initialize this object and a printStuff function. Then, create an object of Employee and print the values. Sample Run: The values are: EMPLID: 20000041 Name: Spongebob Squarepants Pay Rate: $ 12.46 2. A perfect number is a number that is the sum of its own factors (barring itself). For example, 6 is a perfect number, because all the factors of 6, less than 6 (1,2,3) add up to 6. 1. Define a generator that takes in i parameter and yields the next perfect number. 2. Define a function that takes a number as a parameter and prints "The next perfect number is ", followed by the number that was passed in. 3. Define a decorator that wraps the output of the previous function with preceding and trailing "##". 4. Accept a lower and an upper limit from the user and print all the numbers in the progression below (or equal to) the upper limit, starting from the lower limit, using the fancy decorated printing. You can assume teh upper limit will be positive. Sample Run: Enter the values: 0 10000 ## The next perfect number is 6 ## ## The next perfect number is 496 ## ## The next perfect number is 8128 ##