Use C++ for all 1) bool mapContainsKeys(array<int> numbersArray, map<int, char>itemsMap) This function will have two parameters. The first is an array of numbers known as numbersArray. A second is a map known as an itemsMap. The itemsMap will have keys as integers and values as characters. The functions should return true if at least one of the numbers in the numbersArray is a key in itemsMap. It should return false otherwise. Example: itemsMap: [8, 10, 5] numbersArray: {9: 'F', 10: 'X'} output: True itemsMap: [8, 9, 5, 1] numbersArray: {6: 'i', 5: 'Y', 1: 'N', 0: 'E'} output: True itemsMap: [9, 10, 4] numbersArray: {5: 'i', 3: 'o', 1: 'N'} output: False 2) map<char, int> concatenateMap(Vector<Map<char, int>>mapVector) This function will be given a single parameter known as the mapVector. Your job is to combine all the map found in the mapVector into a single map and return it. There are two rules for adding values to the map: You must add key-value pairs to the map in the same order found in the map vector. If the key already exists, it cannot be overwritten. In other words, if two or more maps have the same key, the key to be added cannot be overwritten by the subsequent maps. Example: Map Vector: [{'Z': 6, 'k': 10, 'w': 3, 'I': 8, 'Y': 5}, {'Y': 1, 'Z': 4}, {'X': 2, 'L': 5}] Expected: {'Z': 6, 'k': 10, 'w': 3, 'I': 8, 'Y': 5, 'X': 2, 'L': 5} Map Vector: [{'z': 0}, {'z': 7}] Expected: {'z': 0} Map Vector: [{'b': 7}, {'b': 10, 'A': 8, 'Z': 2, 'V': 1}] Expected: {'b': 7, 'A': 8, 'Z': 2, 'V': 1} 3) map<char, int> uniqueValues(map<char, int>inputMap) This function will receive a single map parameter known as inputMap. inputMap will contain a char and integers as values. This function is supposed to search inputMap to find all values that appear only once in the inputMap. The function will create another map named toReturn. For all values that appear once in inputMap the function will add the value as a key in toReturn and set the value of the key to the key of the value in inputMap (swap the key-value pairs, since inputMap contains letters to numbers, toReturn will contain Numbers to Letters). Finally, the function should return toReturn. Example: Input map: {'X': 2, 'Y': 5, 'N': 2, 'L': 2, 'W': 1, 'G': 0, 'R': 1} Expected output: {5: 'Y', 0: 'G'} Input map: {'Z': 3, 'P': 3, 'E': 2, 'G': 0, 'T': 5, 'L': 1, 'Q': 0} Expected output: {2: 'E', 5: 'T', 1: 'L'} Input map: {'E': 3, 'X': 3} Expected output: {} Input map: {'G': 3, 'D': 3, 'C': 4, 'Q': 1, 'H': 1, 'M': 2, 'Z': 1, 'W': 3} Expected output: {4: 'C', 2: 'M'} Input map: {'O': 2, 'T': 1, 'L': 5, 'W': 5, 'Z': 4, 'M': 5, 'B': 4, 'D': 0, 'F': 3, 'E': 1} Expected output: {2: 'O', 0: 'D', 3: 'F'}.