The Assignment: Implement a polynomial class that uses a doubly-linked list of polynodes to store the polynomial's terms. Each polynode of the list holds the coefficient and exponent for one term. The terms are kept in order from smallest to largest exponent. Each polynomial also maintains a pointer called recent_ptr to the most recently accessed polynode. Purposes: Ensure that you can write a class that uses a linked list, with a roving cursor (recent_ptr) to make the list more efficient. Files that you must use: 1. poly.h: The header file for the new polynomial class. 2. poly.cxx: The implementation file for the new polynomial class. You’ll complete the code in this file. Other files that you may find helpful: 1. polytest.cxx: A simple interactive test program. 2. polyexam.cxx: A non-interactive test program that will be used to grade the correctness of your polynomial class. 3. Makefile: compile the test files with the polynomial class.