//使用两个栈实现min函数
class Solution {
public:
    stack<int> S;
    stack<int> S2;
    void push(int value) {
        S.push(value);
    }
    void pop() {
        S.pop();
    }
    int top() {
        return S.top();
    }
    int min() {
        int bin=S.top();
        while(S.size()>0){
           if(bin>=S.top()){
               bin=S.top();
           }
            S2.push(S.top());
            S.pop();
        }
        while(S2.size()>0){
            S.push(S2.top());
            S2.pop();
        }
        return bin;
    }
};