fn read() -> T { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); s.trim().parse().ok().unwrap() } fn main() { let works: u32 = read(); let days: u32 = read(); println!("{}", no51(works, days)) } fn no51(works: u32, days: u32) -> u32 { fn get_work(w: u32, d: u32) -> u32 { let power = w as f64 / (d as f64).powf(2.0); power.floor() as u32 } let mut w = works; for i in (2..=days).rev() { w = w - get_work(w, i); } w }