use std::io::{stdin, BufRead}; fn main() { let stdin = stdin(); let mut stdin = stdin.lock().lines().map(Result::unwrap); let _n = stdin.next().unwrap().parse::().unwrap(); let a = stdin .next() .unwrap() .split_whitespace() .map(|x| x.parse::().unwrap()) .collect::>(); let mut dp = vec![false; 1 << 14]; dp[0] = true; for &x in &a { let mut swp = dp.clone(); for i in 0..1 << 14 { swp[i ^ x] |= dp[i]; } dp = swp; } let ans = dp.iter().filter(|&&x| x).count(); println!("{}", ans); }