e-olymp
favorite Saytın davamlılığını təmin etmək üçün sizin köməyinizə ehtiyacımız vardır, ətrafli məlumat üçün bannerə klikləyin

XOR Сумма

prb6018 Вам дан список из q (1q100000) команд.

По команде "**insert n**" следует добавить n в набор чисел (повторы чисел допускаются).

По команде "print" следует вывести XOR сумму наибольших k (1kq) элементов списка (если список содержит меньше k элементов, то вывести XOR сумму всех элементов списка).

XOR сумма набора чисел представляет собой выполнение операции XOR над ими всеми. XOR применяется к двум целым числам, используя оператор ^ во многих языках программирования или xor в Хаскеле (Паскале)).

Функция XOR имеет несколько важных свойств. Например, если n ^ m = x, то n = x ^ m и m = x ^ n.

Входные данные

Первая строка содержит количество тестов t (1t30). Каждый тест начинается строкой, содержащей два целых числа q и k (1q, k100000). Каждая из следующих q строк содержит одну команду.

Команды бывают двух видов:

insert n

или

print

n - неотрицательное число, меньшее 231.

Выходные данные

Для каждой команды print вывести XOR сумму (не больше) k наибольших элементов в текущем списке. Помните, что список очищается после обработки каждого теста.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
1
5 2
insert 1
insert 2
print
insert 3
print
Çıxış verilənləri #1
3
1
Müəllif Hichem Zakaria Aichour
Mənbə ACM ICPC CCPC 2013