XOR ჯამი

დროის ლიმიტი: 1 წმ

მეხსიერების ლიმიტი: 64 მეგაბაიტი

შემავალი მონაცემები: stdin

გამომავალი მონაცემები: stdout


თქვენ მოგეცემათ q (1 ≤ q ≤ 100000) რაოდენობის ინსტრუქცია. თუკი მოგვცემენ ინსტრუქციას  -  "insert n", (სადაც n რაიმე რიცხვია)  უნდა ჩავსვათ ეს რიცხვი რიცხვთა სიაში (შესაძლოა იყოს დუპლიკატები). თუ მოგვცემენ ინსტრუქციას "print" - უნდა დავბეჭდოთ  k (1 ≤ k ≤ q) ცალი  უდიდესი ელემენტების XOR  ჯამი ამ რიცხვთა სიაში (ან თუკი ელემენტების რაოდენობა ამ სიაში ნაკლებია k-ზე ამ შემთხვევაში დავბეჭდოთ ყველა ელემენტის XOR ჯამი ).

XOR ჯამი გამოითვლება ორ ელემენტს შორის ჩაშენებული ოპერატორის ^ გამოყენებით * XOR ოპერატორი უმეტეს ენაში აღინიშნება ^ სიმბოლოთი. 

ყურადღება მიაქციეთ რომ XOR-ს აქვს საკმაოდ გამოყენებადი თვისებები, მათ შორისაა: თუ n ^ m = x მაშინ n = x ^ m და m = x ^ n.

შემომავალი მონაცემები

პირველ ხაზზე შემოდის  t (1 ≤ t ≤ 30) ტესტების შემთხვევების რაოდენობა.თითოეული ტესტის შემთხვევა იწყება ორი შემომავალი რიცხვით q  და k (1 ≤ q, k ≤ 100000). შემდგომი q ხაზი შეიცავს ერთ ინსტრუქციას.

ინსტრუქცია არის მხოლოდ ორგვარი: insert n ან  print, სადაც n არის არაუარყოფითი რიცხვი რომელიც ნაკლებია  231.

გამომავალი მონაცემები

თითოეული print ინსტრუქციისთვის გამოიტანეთ k ცალი უდიდესი ელემენტების  XOR ჯამი მიმდინარე სიიდან ან თუ სია შეიცავს k -ზე ნაკლებ ელემენტებს გამოიტანეთ მთლიანი სიის XOR ჯამი. ყურადღება მიაქციეთ რომ რიცხვთა სია სუფთავდება თითოეული ტესტური შემთხვევების შემდგომ.




მაგალითები

შესატანი მონაცემები
1 5 2 insert 1 insert 2 print insert 3 print დაკოპირება
გამოსატანი მონაცემები
3 1 დაკოპირება

შენიშვნა

ახსნა : გვაქვს 1 ტესტური შემთხვევა, შემოდის 5 ინსტრუქცია და k=2-ს. სიაში ჩავსვით 1-ანი,სიაში ჩავსვით ორიანი, მოვიდა ინსტრუქცია print- უნდა დავბეჭდოთ 2 ყველაზე დიდი ელემენტის XOR-ჯამი რაც არის 3, შემდგომ შემოდის 3-ანი,რასაც ჩავსვავთ სიაში და ბოლოს შემოდის ინსტრუქცია print  რაც ნიშნავს რომ მიმდინარე სიიდან რაც ამ შემთხვევაში შედგება (1,2,3) -სგან ვბეჭდავთ ორი უდიდესი ელემენტის  XOR-ჯამს რაც არის 1.