Đếm nhóm AND

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Đề bài
Hoàng có n số nguyên không âm a1, a2, …, an.

Ta gọi một dãy chỉ số i1, i2, …, ik (1 ≤ i1 < i2 < … < ik ≤ n) là một nhóm có kích thước k.

Hoàng muốn biết có bao nhiêu nhóm tồn tại sao cho:

ai1 & ai2 & … & aik = 0

với mọi 1 ≤ k ≤ n.

Hãy giúp Hoàng tìm ra số nhóm như vậy và in kết quả theo modulo 1000000007 (109 + 7). ( Điều này có nghĩa là sau khi bạn tính được số nhóm, bạn lấy kết quả chia cho 1000000007 và in ra phần dư .)

Ký hiệu x & y biểu thị phép AND theo bit của hai số nguyên xy.

Input

  • Dòng đầu tiên chứa một số nguyên n (1 ≤ n ≤ 106).
  • Dòng thứ hai chứa n số nguyên a1, a2, …, an (0 ≤ ai ≤ 106).

Output
In ra một số nguyên duy nhất — số nhóm thỏa mãn điều kiện, theo modulo 1000000007 (109 + 7).

Sample input

3
2 3 3

Sample ouput

0

Sample input

4
0 1 2 3

Sample output


10

Sạmple input

6
5 2 0 5 2 1

Sample output

53

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.