Şəkər moduluna görə bayram hesablamaları
Ralf, bildiyiniz kimi, hər hansı bir oyunda ən yaxşı olmaq, qızıl medal qazanmaq və həqiqi qəhrəman olmaq arzusundadır! Bu dəfə Ralf hər kəsə göstərmək istəyir ki, o yalnız güclü və cəsur deyil, həm də çox ağıllıdır. Buna görə də o, "Şəkər Modulu üzrə Bayram Hesablamaları" oyununa qatıldı.
Oyunun məqsədi sadədir: oyunçuya iki ədəd verilir və kalkulyatordan istifadə edərək x xor y tapmaq tələb olunur. x xor y ifadəsi x və y ədədlərinə bitwise istisna və ya (bitwise toplama modulu 2) əməliyyatının tətbiqini göstərir. Bu əməliyyat müasir proqramlaşdırma dillərinin hamısında mövcuddur, məsələn, C++ və Java dilində ˆ, Pascal dilində isə xor ilə göstərilir.
Kalkulyator oyun zamanı oyunçu tərəfindən alınan bütün ədədləri yadda saxlayır və ədədləri toplamağı, çıxmağı, vurmağı və ya ədədi 2-yə tam bölməyi bacarır. Bununla belə, kalkulyatorun yaddaşı məhduddur: o, 1000 tam ədəddən çoxunu saxlaya bilmir. Bundan əlavə, kalkulyatorda saxlanılan bütün ədədlər 0 ilə 2^31
- 1 daxil olmaqla diapazonda olmalıdır. Əvvəlcə kalkulyatorun yaddaşında x və y ədədləri var. Oyunçu yalnız kalkulyatorun yaddaşında saxlanılan ədədlərdən istifadə edə bilər.
Ralf çox ağıllı bir oğlandır, lakin Vanilopa ilə yenə bir bədbəxtlik baş verib və o, ona kömək etməyə tələsir. Buna görə də "Şəkər Modulu üzrə Bayram Hesablamaları" oyununda ən yaxşı olmaq məhz sizə düşəcək!
Giriş məlumatları
Bir sətirdə iki tam ədəd x və y (1 ≤ x, y ≤ 10^9
) verilir - kalkulyatorun yaddaşında əvvəlcə yerləşən ədədlər.
Çıxış məlumatları
Birinci sətirdə oyunçunun oyunda qalib gəlməsi üçün etməli olduğu əməliyyatların sayı n (1 ≤ n ≤ 1000) verilir.
Sonrakı n sətirdə hər bir addımda etmək istədiyiniz əməliyyatın növünü göstərin:
1 - iki ədədi topla
2 - birinci ədəddən ikinci ədədi çıx
3 - ədədi 2-yə vur
4 - ədədi 2-yə tam böl.
Əgər əməliyyat növü 1 və ya 2-dirsə, istifadə olunan hər bir ədədin alındığı iterasiya nömrələrini boşluqla ayıraraq göstərin. Əgər əməliyyat növü 3 və ya 4-dürsə, istifadə olunan ədədin alındığı iterasiya nömrəsini göstərin.
Məsələn, 3 iterasiyasında alınan ədəddən 4 iterasiyasında alınan ədədi çıxmaq üçün "2 3 4" yazmaq lazımdır.
Qeyd edək ki, x xor y ədədi son iterasiyada alınmalıdır. Sizdən əməliyyatların minimal sayını tapmaq tələb olunmur.