use proconio::input; fn solve() -> i32 { input! { n: usize, } let mut t = vec![1; n + 1]; t[0] = 0; let mut p = vec![true; n + 1]; p[0] = false; p[1] = false; for k in 2..=n { if p[k] { for i in 1.. { let ki = k.saturating_mul(i); if ki > n { break; } p[ki] = false; t[ki] *= -1; let kki = ki.saturating_mul(k); if kki > n { continue; } t[kki] = 0; } } } t.iter().sum() } fn main() { let ans = solve(); println!("{}", ans); }