class Solution {
stack<int>sta1,sta2;
int m=INT_MAX;
public:
void push(int value) {
sta1.push(value);
if(m>value)m=value;
sta2.push(m);
}
void pop() {
sta2.pop();
sta1.pop();
m=sta2.top();
}
int top() {
return sta1.top();
}
int min() {
return sta2.top();
}
};