给定一个初始为空的栈和一系列压栈、弹栈操作,请编写程序输出每次弹栈的元素。
输入格式: 第1行为1个正整数n,表示操作个数; 接下来n行,每行表示一个操作,格式为1 d或0。 1 d表示将整数d压栈,0表示弹栈。n不超过20000。
输出格式: 按顺序输出每次弹栈的元素,每个元素一行。 若某弹栈操作不合法(如在栈空时弹栈),则对该操作输出invalid。
示例: 输入 6 1 1 1 2 0 1 3 0 0
输出 2 3 invalid
说明 第一次操作为将1压栈,此时栈为[1] 第二次操作为将2压栈,此时栈为[1, 2] 第三次操作为弹栈,此时栈为[1],输出2 第四次操作为将3压