fn getline() -> String { let mut ret = String::new(); std::io::stdin().read_line(&mut ret).ok().unwrap(); ret } fn main() { getline(); let mut a: Vec = getline() .split_whitespace() .map(|x| x.parse().unwrap()) .collect(); a.sort(); const MOD: i64 = 998_244_353; let mut ans: i64 = 1; for i in 0..30 { let mut acp = a.clone(); acp.sort_by_key(|&x| x ^ (1 << i)); if a != acp { ans = ans * 2 % MOD; } } println!("{ans}"); }