CSES - Number of Subset Xors
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Given an array of nn integers, your task is to find the number of different subset xors.

Input

The first line has an integer nn: the size of the array.

The next line has nn integers x1,x2,,xnx_1,x_2,\dots,x_n: the contents of the array.

Output

Print one integer: the number of different subset xors.

Constraints

  • 1n21051 \le n \le 2 \cdot 10^5
  • 0xi1090 \le x_i \le 10^9

Example

Input:

3
3 6 5

Output:

4

Explanation: The following values can be the xor of a subset:

  • 0=xor of the empty set0 = \text{xor of the empty set}
  • 3=33 = 3
  • 5=365 = 3 \oplus 6
  • 6=356 = 3 \oplus 5

In this case, no other values can be the xor of a subset.