use proconio::input; fn main() { input! { n: usize, m: usize, ab: [(usize, usize); n], } let mut ng_day = ab.iter().map(|&(a, b)| (m - a) / b + 1).collect::>(); ng_day.sort_unstable(); let mut rle: Vec<(usize, usize)> = vec![]; for d in ng_day { if rle.last().is_some_and(|last| last.1 == d) { rle.last_mut().unwrap().0 += 1; } else { rle.push((1, d)); } } let mut ans = 0; let mut cum = 0; for (cnt, day) in rle { cum += cnt; ans = ans.max((cum + day - 1) / day); } println!("{ans}"); }