XOR Cəmi
Sizə q (1 ≤ q ≤ 100000) əmrdən ibarət bir siyahı təqdim olunub.
"insert n" əmri ilə n ədədini ədədlər toplusuna əlavə etməlisiniz (ədədlərin təkrarlanmasına icazə verilir).
"print" əmri ilə siyahının ən böyük k (1 ≤ k ≤ q) elementlərinin XOR cəmini çıxışa verməlisiniz (əgər siyahıda k elementdən az varsa, onda siyahıdakı bütün elementlərin XOR cəmini çıxışa verməlisiniz).
Ədədlər toplusunun XOR cəmi, onların hamısına XOR əməliyyatının tətbiq edilməsidir. XOR bir çox proqramlaşdırma dillərində ^ operatoru və ya Haskel (Pascal) dilində xor operatoru ilə iki tam ədədə tətbiq edilir.
XOR funksiyasının bir neçə mühüm xüsusiyyəti var. Məsələn, əgər n ^ m = x olarsa, onda n = x ^ m və m = x ^ n.
Giriş məlumatları
Birinci sətir testlərin sayını t (1 ≤ t ≤ 30) ehtiva edir. Hər bir test iki tam ədəd q və k (1 ≤ q, k ≤ 100000) ehtiva edən sətirlə başlayır. Növbəti q sətirin hər biri bir əmri ehtiva edir.
Əmrlər iki növdə olur:
insert n
və ya
n - 2^31
-dən kiçik qeyri-mənfi ədəddir.
Çıxış məlumatları
Hər bir print əmri üçün cari siyahıda (ən çox) k ən böyük elementlərin XOR cəmini çıxışa verin. Unutmayın ki, hər bir testin işlənməsindən sonra siyahı təmizlənir.