CSES - HIIT Open 2018 - Coins
  • Time limit: 1.00 s
  • Memory limit: 512 MB
You have $n$ coins, each of which has a distinct weight.

There are two stacks which are initially empty. On each step you move one coin to a stack. You never remove a coin from a stack.

After each move, your task is to determine which stack is heavier (if we can be sure that either stack is heavier).


The first input line has an integer $n$: the number of coins. The coins are numbered $1,2,\dots,n$. You know that coin $i$ is always heavier than coin $i-1$, but you don't know their exact weights.

After this, there are $n$ lines that describe the moves. Each line has two integers $c$ and $s$: move coin $c$ to stack $s$ (1 = left, 2 = right).


After each move, print < if the right stack is heavier, > if the left stack is heavier, and ? if we can't know which stack is heavier.

  • $1 \le n \le 2 \cdot 10^5$

2 1
3 2
1 1


Explanation: After the last move, if the coins are $[2,3,4]$, the left stack is heavier, but if the coins are $[1,2,5]$, the right stack is heavier.