use proconio::input; fn main() { input! { _n: usize, m: usize, a_vec: [u64; m], } let mut ans = vec!((a_vec[0], 1)); for i in 0..m - 1 { if a_vec[i + 1] == a_vec[i] + 1 { let (s, l) = ans.last().unwrap().clone(); let length = ans.len(); ans[length - 1] = (s, l + 1); } else { ans.push((a_vec[i + 1], 1)); } } println!("{}", ans.len()); for (s, l) in ans { println!("{} {}", s, l); } }