XOR Сума#6018

XOR Сума

1 секунда
128 мегабайтів
Дуже легка

Вам надано список із (1 \leq q \leq 100000) команд.

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

Команда "print" виводить XOR суму найбільших (1 \leq k \leq q) елементів списку. Якщо в списку менше ніж елементів, виводиться XOR сума всіх наявних елементів.

XOR сума набору чисел — це результат застосування операції XOR до всіх цих чисел. Операція XOR виконується над двома цілими числами за допомогою оператора ^ у багатьох мовах програмування або xor у Хаскелі (Паскалі).

Функція XOR має кілька важливих властивостей. Наприклад, якщо ^ = , то = ^ і = ^ .

Вхідні дані

Перший рядок містить кількість тестів (1 \leq t \leq 30). Кожен тест починається з рядка, що містить два цілі числа та (1 \leq q, k \leq 100000). Кожен із наступних рядків містить одну команду.

Команди можуть бути двох типів:

insert n

або

print

— невід'ємне число, менше 2^{31}.

Вихідні дані

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

Приклади

Приклад 1

Loading
Loading