interface IStack<T>{
T pop();
void push(T ob);
}
class MyStack<T> implements IStack<T>{
Vector<T> v = new Vector<T>();
int tos;
Object[] stck = new Object[10];
@Override
public T pop() {
if(tos ==0)
return null;
tos--;
return (T)stck[tos];
}
@Override
public void push(T ob) {
v.add(ob);
}
}
public class Main{
public static void main(String[] args) {
IStack<Integer> stack = new MyStack<Integer>();
for(int i =0; i<10; i++) stack.push(i);
while(true) {
Integer n = stack.pop();
if(n == null) break;
System.out.println(n+" ");
}
}
}