Cho một số nguyên không âm 32-bit, ban đầu toàn bộ các bit của số này là \(0\). Cho \(q\) truy vấn thuộc một trong các loại sau:
-
1 k: Bật bit thứ \(k\) (hay gán bit thứ \(k\) bằng \(1\)). -
2 k: Tắt bit thứ \(k\) (hay gán bit thứ \(k\) bằng \(0\)). -
3 k: Đảo bit thứ \(k\) (hay từ \(0\) thành \(1\) và ngược lại).
Hãy xác định số nguyên này sau mỗi truy vấn.
Input
-
Dòng đầu tiên gồm số nguyên \(q\) (\(1 \le q \le 10^5\)).
-
\(q\) dòng tiếp theo, mỗi dòng gồm một truy vấn theo định dạng trên (\(0 \le k \le 31\)).
Output
Sau mỗi truy vấn, hãy in ra số nguyên này.
Example
Input:
5
1 0
1 1
2 0
3 1
3 3
Output:
1
3
2
0
8
Note
Ban đầu số nguyên bằng \(0\) (nhị phân toàn \(0\)).
Truy vấn 1 0: bật bit thứ \(0\), số nguyên trở thành \(1\).
Truy vấn 1 1: bật bit thứ \(1\), số nguyên trở thành \(3\).
Truy vấn 2 0: tắt bit thứ \(0\), số nguyên trở thành \(2\).
Truy vấn 3 1: đảo bit thứ \(1\) (đang là \(1\) thành \(0\)), số nguyên trở thành \(0\).
Truy vấn 3 3: đảo bit thứ \(3\) (đang là \(0\) thành \(1\)), số nguyên trở thành \(8\).
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.