public class Stack {
    private List l;
    // Konstruktor :
    public Stack() {
        l = null;
    }
    // Objektmethoden :
    public boolean isEmpty() {
        return l == null;
    }
    public int pop() {
        int result = l.info;
        l = l.next;
        return result;
    }
    public void push(int a) {
        l = new List(a,l);
    }
    public String toString() {
        return List.toString(l);
    }

    public static void main(String args[]) {
        Stack st = new Stack();

        st.push(1);
        st.push(2);
        st.push(3);
        st.push(4);
        System.out.println(""+st);
        while (st.isEmpty() == false) {
            int x = st.pop();
            System.out.println(x);
        }
    }
} // end of class Stack
