You are given a stack with n integers. You need to delete the kth element from the bottom of the stack. The remaining elements should be printed in the order that they are inserted into the stack. What is the correct approach to achieve this?
a) Use two stacks, one for deletion and one for keeping track of the remaining elements
b) Use a queue to pop elements from the bottom
c) Use a priority queue for efficient deletion
d) Use a doubly linked list for easy removal