template<typename T>
struct Stack
{
T tt = -1, val[N];
void clear() { tt = -1; }
bool empty() { return tt == -1; }
void pop() { -- tt ; }
void push(T x) { val[ ++ tt] = x; }
T top() { return val[tt]; }
} ;
Stack<int> stk; //Stack<自定义类型> stk;