use proconio::input; fn main() { input! { _n: usize, m: usize, a: [usize; m], } if m == 1 { println!("{} 1", a[0]); return; } let mut prev = a[0]; let mut seq_count = 1; let mut seq_start = a[0]; let mut ans = vec![]; for i in 1..m { if a[i] == prev + 1 { seq_count += 1; } else { ans.push((seq_start, seq_count)); seq_count = 1; seq_start = a[i]; } prev = a[i]; } ans.push((seq_start, seq_count)); println!("{}", ans.len()); for (i, j) in ans { println!("{} {}", i, j); } }