This lab will give you a practice with both queue and stack ADTs. In this work, you are to determine if an input string is a palindrome. A string of characters is a palindrome if and only if it reads the same forward and backward. Examples: eye, abba, civic, radar, and so [login to view URL] are different algorithms to determine if a string is [login to view URL] work in this lab uses Stack and Queue ADTs. Here is an approach:•Read the input string one character at a time.•Push a copy of a character on to the stack. Add the same character to (the back of the) queue.•When the line has been entirely read, the program repeatedlycompares the top of element of thestack and the front element of the queue; in case of a match, it pops the stack and (simultaneously) de-queues the queue.•If ever there is a mismatch between the top element of the stack and the front element of the queue, the program declares that the input string is not a palindrome, and halts. The program also reports a position where a different text found.•If the stack (or equally correctly, the queue) gets empty, the program declares that the given string is a palindrome, and stops.