codeforces#P914G. Sum the Fibonacci

    ID: 29000 远端评测题 4000ms 256MiB 尝试: 0 已通过: 0 难度: 10 上传者: 标签>bitmasksdivide and conquerdpfftmath*2600

Sum the Fibonacci

Description

You are given an array s of n non-negative integers.

A 5-tuple of integers (a, b, c, d, e) is said to be valid if it satisfies the following conditions:

  • 1 ≤ a, b, c, d, e ≤ n
  • (sa | sb) & sc & (sd ^ se) = 2i for some integer i
  • sa & sb = 0

Here, '|' is the bitwise OR, '&' is the bitwise AND and '^' is the bitwise XOR operation.

Find the sum of f(sa|sb) * f(sc) * f(sd^se) over all valid 5-tuples (a, b, c, d, e), where f(i) is the i-th Fibonnaci number (f(0) = 0, f(1) = 1, f(i) = f(i - 1) + f(i - 2)).

Since answer can be is huge output it modulo 109 + 7.

The first line of input contains an integer n (1 ≤ n ≤ 106).

The second line of input contains n integers si (0 ≤ si < 217).

Output the sum as described above, modulo 109 + 7

Input

The first line of input contains an integer n (1 ≤ n ≤ 106).

The second line of input contains n integers si (0 ≤ si < 217).

Output

Output the sum as described above, modulo 109 + 7

Samples

2
1 2

32

3
7 4 1

3520

10
1 3 0 7 3 7 6 5 7 5

1235424

10
50 9 11 44 39 40 5 39 23 7

113860062