Đ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 bitopscapxor

Cặp XOR

Dễ Cài đặt

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

Cho mảng \(A\) gồm các số nguyên không âm. Hãy đếm số lượng cặp \(i < j\) mà \(A_i \oplus j = A_j \oplus i\), với \(\oplus\) là phép \(\text{XOR}\).

Input

  • Dòng đầu tiên gồm số nguyên \(n\) (\(1 \le n \le 10^5\)).

  • Dòng thứ hai gồm \(n\) số nguyên \(A_1, A_2, \ldots, A_n\) (\(1 \le A_i \le 10^9\)).

Output

In ra một số nguyên là số lượng cặp số thỏa mãn.

Example

Input:

5
7 8 9 14 3

Output:

4

Note

Đánh số các phần tử của \(A\) từ \(1\): \(A = [7, 8, 9, 14, 3]\).

Điều kiện \(A_i \oplus j = A_j \oplus i\) tương đương với \(A_i \oplus i = A_j \oplus j\) (XOR cả hai vế với \(i \oplus j\)). Đặt \(B_i = A_i \oplus i\), ta có \(B = [7 \oplus 1, 8 \oplus 2, 9 \oplus 3, 14 \oplus 4, 3 \oplus 5] = [6, 10, 10, 10, 6]\).

Nhóm các chỉ số có cùng giá trị \(B_i\): nhóm \(\{1, 5\}\) (giá trị \(6\)) có \(1\) cặp, nhóm \(\{2, 3, 4\}\) (giá trị \(10\)) có \(3\) cặp. Tổng cộng có \(1 + 3 = 4\) cặp thỏa mãn.

Bình luận

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