def gauss_jordan(A): # F2 上の Gauss Jordan の掃き出し法 # 基底を取り出す # 引数を破壊的に変更する idx = 0 for i in range(61, -1, -1): for j, a in enumerate(A[idx:], idx): if a>>i & 1: break else: continue A[idx], A[j] = A[j], A[idx] for j in range(len(A)): if j != idx and A[j]>>i & 1: A[j] ^= a idx += 1 assert not any(A[idx:]) del A[idx:] import sys input = sys.stdin.readline n = int(input()) A = list(map(int, input().split())) gauss_jordan(A) print(pow(2, len(A)))