fn main() { let mut nk = String::new(); std::io::stdin().read_line(&mut nk).ok(); let nk: Vec = nk.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let n = nk[0]; let k = nk[1]; let summary = n * (n+1) / 2; if k == summary { println!("0"); return; } else if k == 0 { println!("1"); return; } let k = summary - k; let mut summary = 0usize; let mut lidx = 0usize; for i in 0..n { summary += i; while lidx < n && summary > k { lidx += 1; summary -= lidx; } if summary == k { println!("1"); return; } } println!("2"); }