1차원 2048과 쿼리

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

2k2^k (0k620 \le k \le 62) 꼴의 정수 또는 00으로만 이루어진 수열이 있습니다. 흐즈로는 이 수열에 대해 다음과 같은 연산을 정의했습니다.

  • a_i=a_ja\_i = a\_j 인 서로 다른 ii, jj를 골라서 a_i,a_ja\_i, a\_j를 각각 2a_i,02a\_i, 0으로 변경합니다. (이때, 수열의 첫 번째 원소는 a_1a\_1입니다.)

예를 들어, 수열 \[2,4,2,0,1]\[2, 4, 2, 0, 1]i=1,j=3i=1, j=3을 골라 실행한다면 수열은 \[4,4,0,0,1]\[4, 4, 0, 0, 1]이 되며, 여기에 i=1,j=2i=1, j=2를 골라 실행한다면 수열은 \[8,0,0,0,1]\[8, 0, 0, 0, 1]이 됩니다.

흐즈로는 수열에 연산을 여러 번 실행하여 수열의 최댓값이 가능한 한 커지길 원하지만, 수열 전체에 이 연산을 계속 반복했다가는 머리가 아파질 것이라고 생각하였습니다.

그러던 중 흐즈로는 더욱 골치 아픈 문제점을 생각하였습니다. 수열이 바뀌면 연산을 처음부터 다시 시작해야 한다는 것입니다!

여러분이 해결해야 할 문제는 다음과 같습니다. 우선 초기의 수열 aa는 빈 수열 \[]\[]으로 정의합니다. 그 후 다음과 같은 종류의 쿼리가 총 QQ개 주어집니다.

  • +x+x : aa의 끝에 xx를 추가합니다. 그 뒤 수열에 흐즈로가 정의한 연산을 00번 이상 수행해 만들 수 있는 가장 큰 최댓값을 출력합니다. xx11 이상의 22의 거듭제곱 또는 00임이 보장됩니다.
  • x-x : aa에 마지막으로 등장하는 xx를 제거합니다. 그 뒤 수열에 흐즈로가 정의한 연산을 00번 이상 수행해 만들 수 있는 가장 큰 최댓값을 출력합니다. xx11 이상의 22의 거듭제곱 또는 00임이 보장되며, aa에는 xx가 적어도 하나 이상 존재함이 보장됩니다.

흐즈로는 이미 머리가 너무 아파서 문제에 대해 생각할 정신조차 없습니다. 흐즈로를 도와 문제를 해결해 주세요!

입력

첫 번째 줄에 쿼리의 개수 QQ (1Q1061 \le Q \le 10^6)가 주어집니다.

두 번째 줄부터 Q+1Q+1 번째 줄까지 쿼리가 주어집니다. 각 쿼리는 +x+x 또는 x-x (xx00 또는 2k2^k (0k62)(0 \le k \le 62)) 중 하나이며, x-x의 경우 수열 aaxx가 적어도 하나 이상 존재함이 보장됩니다.

입력의 양이 많기 때문에 언어에 따른 빠른 입출력 방법을 사용할 것을 권장합니다. 빠른 입출력 방법은 15552: 빠른 A+B를 참고하세요.

출력

QQ개의 쿼리에 대해 각각 한 줄에 문제의 정답을 출력하세요. aa가 빈 수열인 경우 문제의 정답은 00으로 간주합니다. 모든 쿼리에 대해 문제의 정답이 2622^{62}보다 크지 않음이 보장됩니다.