use std::io::*; fn main() { let mut s: String = String::new(); std::io::stdin().read_to_string(&mut s).ok(); let mut itr = s.trim().split_whitespace(); let a: usize = itr.next().unwrap().parse().unwrap(); let mut ans = 0; let f = [3, 5, 17, 257, 65537].to_vec(); for i in 0..1 << 5 { let mut val = 1; for j in 0..5 { if i >> j & 1 == 1 { val *= f[j]; } } for j in 0..30 { let tmp = val * (1usize << j); if 3 <= tmp && tmp <= a { ans += 1; } } } println!("{}", ans); }