fn main() { let mut buf = String::new(); let mut input = { use std::io::Read; std::io::stdin().read_to_string(&mut buf).unwrap(); buf.split_whitespace() }; let n: usize = input.next().unwrap().parse().unwrap(); let q: usize = input.next().unwrap().parse().unwrap(); let lr: Vec<(usize, usize)> = (0..q) .map(|_| { ( input.next().unwrap().parse().unwrap(), input.next().unwrap().parse().unwrap(), ) }) .collect(); let mut lamps = vec![0; n]; let mut count = 0; for i in 0..q { for j in (lr[i].0 - 1)..=(lr[i].1 - 1) { match lamps[j] { 0 => count += 1, 1 => count -= 1, _ => unreachable!(), } lamps[j] ^= 1; } println!("{}", count); } }