import bisect
import sys
a = []
def insertValue(x):
# TODO: 实现插入逻辑
i = bisect.bisect_left(a, x)
if i == len(a) or a[i] != x:
a.insert(i, x)
def eraseValue(x):
# TODO: 实现删除逻辑
i = bisect.bisect_left(a, x)
if i < len(a) and a[i] == x:
a.pop(i)
def xInSet(x):
# TODO: 实现存在性检查
i = bisect.bisect_left(a, x)
return i < len(a) and a[i] == x
def sizeOfSet():
# TODO: 返回集合大小
return len(a)
def getPre(x):
# TODO: 实现找前驱
i = bisect.bisect_left(a, x)
return a[i - 1] if i > 0 else -1
def getBack(x):
# TODO: 实现找后继
i = bisect.bisect_right(a, x)
return a[i] if i < len(a) else -1
def main():
q = int(sys.stdin.readline())
for _ in range(q):
line = map(int, sys.stdin.readline().split())
cnt, op, x = 0, 0, 0
for i in line:
if cnt == 0:
op = i
else:
x = i
cnt += 1
if op == 1:
insertValue(x)
elif op == 2:
eraseValue(x)
elif op == 3:
print("YES" if xInSet(x) else "NO")
elif op == 4:
print(sizeOfSet())
elif op == 5:
print(getPre(x))
elif op == 6:
print(getBack(x))
if __name__ == "__main__":
main()