Gửi bài giải


Điểm: 100
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Cho dãy \(A\) gồm \(N\) phần tử, mỗi phần tử có giá trị trong \([0, 2^m - 1]\).

Tý muốn đếm số lượng bộ \(7\) chỉ số \((i_1, i_2, \dots, i_7)\) (có thể trùng nhau) sao cho:

\(A_{i_1} \& A_{i_2} \& \dots \& A_{i_7} = 0\)

Trong đó \(\&\) là phép toán AND bit.

Định dạng đầu vào

  • Dòng 1: hai số nguyên \(N, m\) (\(1 \le N \le 10^5, 1 \le m \le 15\)).
  • Dòng 2: \(N\) số nguyên \(A_1, A_2, \dots, A_N\) (\(0 \le A_i < 2^m\)).

Định dạng đầu ra

  • Một số nguyên duy nhất là số lượng bộ thỏa mãn, modulo \(10^9 + 7\).

Ví dụ

Input:

4 2
0 1 2 3

Output:

16384

Ràng buộc

Subtask Điểm Ràng buộc
1 10 \(N \le 10\)
2 20 \(N \le 1000, m \le 10\)
3 30 \(m \le 12\)
4 40 Không có ràng buộc gì thêm

Nhận xét

Không có ý kiến tại thời điểm này.