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()