Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập bitopsphepthaotacbit1

Phép toán thao tác bit 1

Dễ Cài đặt

  • 100 Điểm
  • 1.0s Thời gian
  • 256M Bộ nhớ
  • 0% Tỉ lệ AC
  • 0 Số AC

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

Chưa có bình luận nào.