#SGM0000006. Xenia và các phép toán bit (Xenia and Bit Operations)

Xenia và các phép toán bit (Xenia and Bit Operations)

Xenia và các phép toán bit (Xenia and Bit Operations)

Nguồn: Codeforces

Phiên bản: Phước Hưng OJ Extended

Đề bài

Có dãy gồm 2n2^n số nguyên không âm. Từ dãy hiện tại, ở tầng đầu tiên ghép từng cặp kề nhau bằng phép OR bit; tầng tiếp theo ghép bằng XOR bit; sau đó tiếp tục luân phiên OR và XOR cho đến khi chỉ còn một giá trị vv. Có mm lần cập nhật một phần tử. Sau mỗi lần cập nhật, hãy in giá trị vv mới.

Input

  • Dòng đầu chứa nn và mm.
  • Dòng thứ hai chứa 2n2^n số a1,a2,…,a2na_1,a_2,\ldots,a_{2^n} với 0≤ai<2300 \le a_i<2^{30}.
  • Mỗi trong mm dòng tiếp theo chứa pp và bb, nghĩa là gán ap=ba_p=b, với 1≤p≤2n1 \le p \le 2^n và 0≤b<2300 \le b<2^{30}.

Output

Sau mỗi lần cập nhật, in giá trị vv của toàn dãy trên một dòng.

Subtask

  • Subtask 1 — 20%: 1≤n≤101 \le n \le 10, 1≤m≤10001 \le m \le 1000.
  • Subtask 2 — 30%: 1≤n≤151 \le n \le 15, 1≤m≤500001 \le m \le 50000.
  • Subtask 3 — 50%: 1≤n≤171 \le n \le 17, 1≤m≤1051 \le m \le 10^5.

Ví dụ

Input

2 4
1 6 3 5
1 4
3 4
1 2
1 2

Output

1
3
3
3

Giải thích

Với n=2n=2, tầng sát dãy dùng OR và tầng gốc dùng XOR. Sau cập nhật đầu tiên, dãy là 4,6,3,54,6,3,5: hai giá trị trung gian là 4 ∣ 6=64\,|\,6=6 và 3 ∣ 5=73\,|\,5=7, nên v=6 ^ 7=1v=6\,\hat{}\,7=1. Các cập nhật sau lần lượt cho các giá trị 3,3,33,3,3.