현수는 코딩 연습 시간을 늘리려고 타임 머신을 샀다. 매 순간 현수는 다음 두 가지 중 하나를 한다.
미래로는 갈 수 없고, 과거로 돌아가면 그 지점에서부터 새로운 미래가 다시 시작된다.
현수는 자신이 푼 문제들을 푼 순서대로 목록에 기록한다. 과거로 돌아가면 그 시점 이전까지 기록해 둔 문제 목록만 남는다.
현수는 매 순간 목록에서 가장 최근에 푼 문제의 번호를 알고 싶어 한다. 목록이 비어 있으면 $-1$을 출력한다.
현수는 자신의 타임라인에서 순서대로 일어나는 $N$ ($1 \le N \le 80{,}000$)개의 쿼리 $Q_1, Q_2, \dots, Q_N$을 처리한다. 각 쿼리는 한 줄로 주어지며, 문자 $c$('a', 's', 't' 중 하나)로 시작한다.
각 쿼리 $Q_i$를 처리한 뒤, 그 시점에 목록에 남아 있는 가장 최근에 푼 문제의 번호를 출력하라. 목록이 비어 있으면 $-1$을 출력한다.
예를 들어 쿼리를 순서대로 'a 5', 'a 8', 's', 't 2', 'a 9'로 처리하면 목록은 $[5] \to [5, 8] \to [5] \to [5] \to [5, 9]$로 바뀌고, 출력은 차례로 $5, 8, 5, 5, 9$가 된다. 여기서 't 2'는 2번째 쿼리를 처리하기 직전(= 1번째 쿼리까지 처리한 뒤)의 상태인 $[5]$로 되돌아간 것이다.
첫째 줄에 쿼리의 개수 $N$이 주어진다.
둘째 줄부터 $N+1$번째 줄까지, 각 줄에 쿼리 $Q_i$가 하나씩 주어진다. 각 쿼리는 'a $K$', 's', 't $K$' 중 한 가지 형식이다.
각 쿼리 $Q_i$를 처리한 뒤, 목록에 남아 있는 가장 최근에 푼 문제의 번호를 한 줄에 하나씩 출력한다. 가장 최근에 푼 문제가 없으면 $-1$을 출력한다.