Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

P183PROF - ROUND 3F - Triple - xor

Cho một dãy số tự nhiên gồm n phần tử a1, a2, …, an.

Một dãy số tự nhiên x1, x2, …, xn được gọi là “triple-xor” nếu với mọi 1 <= i < k số bit trong biểu diễn nhị phân của xi xor xi + 1 chia hết cho 3 và xi thuộc {a1, a2, …, an} với mọi 1 <= i <= k.

Hỏi có bao nhiêu “triple-xor” có chiều dài k? Kết quả lấy dư cho 109 + 7.

Lưu ý nếu a = [7, 7] và k = 1, đáp án sẽ là 2, vì các phần tử trong dãy số a được coi là khác nhau.

Input

Dòng đầu tiên gồm hai số nguyên n và k (1 ≤ n ≤ 100, 1 ≤ k ≤1018) – số phần tử của dãy số và chiều dài của “triple xor”.

Dòng thứ hai chứa n số tự nhiên ai (0 <= ai <= 1018).

Output

In ra một số nguyên duy nhất là số “triple-xor” chiều dài k lấy dư cho 109 + 7.

Example

Test 1:
Input:
5 1
5 2 1 8 3 Output: 5
Test 2:
Input:
5 2
5 2 1 8 3
Output:
11

Được gửi lên bởi:adm
Ngày:2018-03-16
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ASM32-GCC ASM32 ASM64 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA

hide comments
2019-01-10 10:22:49
Đề sai rồi assmin ơi :vvvvvv
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.