use proconio::input; fn main(){ input!{ n: usize, q: usize, a: [i32; n], b: [(usize, usize); q], } let mut pre = Vec::::new(); pre.push(0); for x in a{ pre.push(pre.last().unwrap()^x); } for (l, r) in b{ println!("{}", pre[r]^pre[l-1]); } }