COMP 1672 Sections 1 & 2 Project #4 Due on the last day of class Lifeboat Survival Tragedy strikes a major cruise line as their flagship collides with an iceberg in the Caribbean Sea. However, due to an ever-so-slight flaw in the engineering of the lifeboats, each lifeboat can carry only ONE person! You are called upon to write a computer program to help the people in each lifeboat determine who gets to remain in the lifeboat while the others jump and try to swim to shore. Write a program that does an eeny-meeny-miny-moe around all the people in the lifeboat - the nth person must jump off of the lifeboat. This process is repeated again - again the nth person jumps out. The program takes two integers as input from the user, one for the number of people in the lifeboat, and the other to represent the number n. Also, the user can specify whether the eeny-meeny-miny-moe should go in the forward direction or reverse direction. For example, say there are 7 people in the boat and every 4th person has to jump, and we count in the forward direction. Start counting with Person 1. Person 1 = 1, Person 2 = 2, Person 3 = 3, Person 4 = 4 so Person 4 jumps out. Go again, start counting where the last iteration left off, when you've reached the last person, revisit Person 1. Person 5 = 1, Person 6 = 2, Person 7 = 3, Person 1 = 4 so Person 1 jumps out. Go again, start counting where the last iteration left off, skip over people that have already jumped. Person 2 = 1, Person 3 = 2, Person 5 = 3, Person 6 = 4 so Person 6 has to jump. Continue until there is only one person left in the lifeboat. Project requirements: The program shall solicit two integers from the user. One integer represents the number of people in the lifeboat. The other represents the value n for which every nth person has to jump. The program shall allow the user to to choose to iterate forward or backward through the lifeboat passengers. You must implement this project using a doubly-linked circular buffer class to store the list of people left in the boat. The program shall be all original code (specifically a doubly-linked circular buffer class, not a STL vector or equivalent). Dynamic memory shall be used (i.e. each "Person" shall be allocated on dynamically, and deleted when they jump out of the lifeboat). To turn in: The class/classes that model this project. The main program that determines who stays in the lifeboat, and output demonstrating the correct functionality of your program. A test driver with output that shows you adequately tested your classe(s). The test driver must include testing for the copy constructor, operator= and the destructor. Submit the project according to the usual procedure.