Stack is a basic data structure. Where 3 operations can be done:
For further details you can get idea here (if you really don’t know): https://en.wikibooks.org/wiki/Data_Structures/Stacks_and_Queues
Now we have a problem here, there are stacks in front of you. they are numbered from 1 to . Each of them are initially empty. Now you will have operations. Each operation can be one the below 4 types:
push i x
, Push a value of to stack numbered pop i
, Pop value from the stack numbered , if stack is empty discard the operationput i j
, Put the -th stack on top of the -th stack. So there will be no element left on the -th stack.top i
, Print the value of the top element of -th stack. If stack is empty print “Empty!”Input starts with an integer (), denoting the number of test cases.
The next line contains two integers (), (). The next lines will contain an operation like above mentioned.
Other constraints:
For each test case, print the case number in a single line. Then for each 4th type operation you should print the value or “Empty!” if the stack is empty.
Input | Output |
---|---|
1 3 18 push 1 1 push 2 2 push 3 3 push 3 4 top 1 top 2 top 3 put 1 3 pop 2 top 1 top 2 top 3 pop 1 top 1 pop 1 top 1 pop 1 top 1 | Case 1: 1 2 4 4 Empty! Empty! 3 1 Empty! |