Given an initially empty set $S$, there are $q$ queries, each of the following format:
- `1 x`: Insert an element $x$ into the set.
- `2 x`: If at least one element $x$ exists in the set, remove **one** element $x$ from the set.
- `3 x`: Find the smallest value greater than $x$.
- `4 x`: Find the largest value not exceeding $x$.
The set $S$ can contain multiple elements with the same value.
### Input
- The first line contains an integer $q$.
- The next $q$ lines, each line contains a query in the specified format.
### Output
- For each query of type $3,4$, print an integer as the answer if it exists; otherwise, print `-1`.
### Constraints
- $1 \le q \le 10^5$.
- $1 \le x \le 10^9$.
### Sample test
Input
```
8
4 5
1 2
1 3
1 2
3 2
1 5
2 3
4 4
```
Output:
```
-1
3
2
```