module main; // https://yukicoder.me/submissions/1135138 より // ビット演算、ナップザック問題 import std; void main() { // 入力 int N = readln.chomp.to!int; auto A = readln.split.to!(int[]); // 答えの計算 int[] B; foreach (a; A) { foreach (b; B) { a = min(a, a ^ b); } if (a) B ~= a; } // 答えの出力 writeln(1 << B.length); }