import java.util.ArrayList;
public class Solution {
private Stack<Integer> stack = new Stack();
public void push(int node) {
stack.push(node);
}
public void pop() {
stack.pop();
}
public int top() {
return stack.peek();
}
public int min() {
ArrayList<Integer> list = new ArrayList<>();
int min = stack.pop();
list.add(min);
while(!stack.isEmpty()){
int pop = stack.pop();
min = Math.min(min,pop);
list.add(0,pop);
}
for(int i = 0;i<list.size();i++){
stack.push(list.get(i));
}
list.clear();
return min;
}
}