In this assignment you will be writing a program to check for matched parenthesis. stacks have a function "empty" that describes if the stack is empty or not. For example, if the stack, s, is empty, then s.empty() is true. size is another popular function. Half of you will use stacks and half will use vectors. You should write a function that takes as an argument a string and simply returns True or False (and then outputs MATCHED or UNMATCHED) based on whether the symbols are matched or not. This string will contain either parenthesis (), square brackets [], <> pairs and curly brackets {}. Your program will examine the string to determine if the symbols are matched appropriately. Pseudocode for this is as we discussed in class: For every symbol in the string, if it is not an open or close symbol then ignore it and move on to the next symbol if it is an open symbol: there are three ( [ { < push it on the stack if it is a close symbol, there are three ) ] } > check if the stack is empty if it is empty, then return false / output UNMATCHED //sample input is ")" if the stack is not empty then check that then top matches the closed symbol ) matches (, } matches {, ] matches [ and > matches < if they match, pop that symbol off the stack if they don't match, then return false / output UNMATCHED //sample input is "[)" if all symbols have been examined, then return true / output MATCHED if the stack is empty //sample input is "()" and "" and return false / output UNMATCHED otherwise //sample input is "(("