1. You are given the design of two classes for the max, and min heap structures in the files minHeap.h, and maxHeap.h. Provide the implementation of these two classes in files minHeap.cpp, and maxHeap.cpp in order to satisfy all the required functionalities defined in the header files for each one of the functions. Note, that you cannot use any additional headers than the ones already included in the code provided.
2. Assume that you are given a stream of random numbers that you have to store. You are asked to find, and maintain the median value of these numbers, as new values are generated. The solution to this problem can be achieved with using two heaps, a min heap, and a max heap. The implementation of the heaps from problem 1 will be used. The outline of the code you will have to write for this, is provided in the medianHeaps.h file. Provide the implementation of this header file in the file medianHeaps.cpp. A test case has been provided in the main.cpp file, but feel free to write additional test cases to make sure your code works. (Additional test cases are not requested, and will not be graded). Note, that you cannot use any additional headers than the ones already included in the code provided.