Реализуйте структуру данных для управления множеством целых чисел, поддерживающую следующие операции:
: Добавить целое число во множество . Если уже присутствует в множестве, изменений не происходит.
\text{sum}(l, r): Вычислить и вернуть сумму всех элементов из , таких что l \leq x \leq r.
Изначально множество пусто. Первая строка содержит целое число (1 \leq n \leq 300\ 000) — количество операций. В следующих строках содержатся описания операций в одном из следующих форматов:
"+ i"
"? l r"
Операция "? l r" соответствует запросу \text{sum}(l, r).
Если операция "+ i" является первой или сразу следует за другой операцией "+", то она соответствует . Однако если она следует за запросом "?", и результат этого запроса был , то операция становится \text{add}((i + y) \bmod 10^9).
Все параметры в запросах и операциях добавления лежат в диапазоне от до 10^9 включительно.
Для каждой операции-запроса выведите одно число — результат запроса.
Example 1