  we used to write arithmetic expressions with the operator between the two operands: a + b or c % d. If we are write a+ b c, however, we have to apply precedence orders to avoid ambiguous evaluation. This type of expression is called infix expression. There are other two types of different but equivalent ways of expressions Infix: X+Y: Operators are written in-between their operands. Infix expression nee make the order of evaluation of the operators clear: precedence and associativity, brackets (). For example, A (B+C)/D Postfix: X Y + Operators are written after their operands. The above infix expression should be written n their operands. Infix expression needs extra information to Prefix:+X Y: Operators are written before their operands. The above infix expression should be written as/* A +BCD Implement the ADT stack using a resizable array, a linked chain, and a vector to implement two methods that can convert an infix expression entered by the user to its equivalent postfix and prefix expressions. Your program should ask the user to enter the infix expression Once the user hits ENTER Sour program should Stepl: Check whether the infix expression is balanced or not (use the algorithm checkBalance at the end of this file). Step 2: If step 1 is successful, return both prefix and postfix expressions of the infix expression; otherwise throw an error and ask the user for a balanced infix expression. . Show transcribed image text we used to write arithmetic expressions with the operator between the two operands: a + b or c % d. If we are write a+ b c, however, we have to apply precedence orders to avoid ambiguous evaluation. This type of expression is called infix expression. There are other two types of different but equivalent ways of expressions Infix: X+Y: Operators are written in-between their operands. Infix expression nee make the order of evaluation of the operators clear: precedence and associativity, brackets (). For example, A (B+C)/D Postfix: X Y + Operators are written after their operands. The above infix expression should be written n their operands. Infix expression needs extra information to Prefix:+X Y: Operators are written before their operands. The above infix expression should be written as/* A +BCD Implement the ADT stack using a resizable array, a linked chain, and a vector to implement two methods that can convert an infix expression entered by the user to its equivalent postfix and prefix expressions. Your program should ask the user to enter the infix expression Once the user hits ENTER Sour program should Stepl: Check whether the infix expression is balanced or not (use the algorithm checkBalance at the end of this file). Step 2: If step 1 is successful, return both prefix and postfix expressions of the infix expression; otherwise throw an error and ask the user for a balanced infix expression. .