Va mex#11807

Va mex

1,5 soniya
256 megabayt
Hard

Berilgan uzunlikdagi massiviga, ning bo'sh bo'lmagan qism to'plamlarining barcha mumkin bo'lgan AND lar to'plami bo'lsin. Biz ni ( ning minimal chiqarib tashlangan qiymati) topishimiz kerak.

Dastlab, biz butun massiv uchun ni hisoblaymiz. Keyin, qo'shimcha elementlar asta-sekin massivga qo'shiladi; har bir qo'shilishdan so'ng yangilangan ni aniqlashimiz kerak.

Bu yerda AND bitwise AND operatsiyasi degan ma'noni anglatadi.

Butun sonlar to'plamining -i (minimal chiqarib tashlangan qiymat) to'plamda mavjud bo'lmagan eng kichik nol yoki ijobiy butun sondir. [1, 0, 2, 4] ning -i . [1, 2, 3] ning -i . [0, 2, 3] ning -i .

Input

Birinchi qator ikkita butun sonni (1 \leq n, 0 \leq m, n + m \leq 10^6) o'z ichiga oladi — massivining uzunligi va qo'shimcha elementlar soni.

Ikkinchi qator ta butun sonni a_i (0 \leq a_i < 2^{20}) o'z ichiga oladi — massivining elementlari.

Uchinchi qator ta butun sonni b_i (0 \leq b_i < 2^{20}) o'z ichiga oladi — qo'shimcha elementlar.

Output

Bitta qatorda m + 1 ta butun sonni chiqaring, bu yerda birinchi son massivi uchun dir. Keyingi ta yangilangan massiv uchun.

Examples

Example 1

Loading
Loading

Example 2

Loading
Loading

Scoring

  1. ( ball): n + m \leq 15;

  2. ( ball): a_i < 2^{12} (1 \leq i \leq n), b_i < 2^{12} (1 \leq i \leq m), n + m \leq 2000;

  3. ( ball): a_i < 2^{15} (1 \leq i \leq n), b_i < 2^{15} (1 \leq i \leq m);

  4. ( ball): m = 0;

  5. ( ball): a_i < 2^{18} (1 \leq i \leq n), b_i < 2^{18} (1 \leq i \leq m), n + m \leq 10^5;

  6. ( ball): hech qanday qo'shimcha cheklovlar yo'q;