Additional problem for assignment 4: Binary search trees can present problems when there are duplicate elements. For unbalanced trees, we can usually ignore this problem. But consider the following tree: 3 \ 4 / 4 If we are to balance the tree using the AVL algorithm, we get: 4 / \ 3 4 Now the second 4 is on the right side. This is bad, because search is now nolonger log n, since we may have to look at BOTH the left and right subtrees in order to search for duplicates. One solution to this problem is to never allow duplicate nodes in a tree. Instead, we store a linked list or vector of values in each node. That is, instead of a single "head", we can store multiple items in each node. The C++ standard template library has a "vector" class that should serve this purpose well (see web links and sample program for usage). That is, instead of just ST head, you need to change the declaration to vector head You will also need to change the search, insert and all other relevant methods appropriately. Please make these changes.