use proconio::input;

fn main() {
    input! {
        n: usize,
    }

    println!("{}", calc_floor_sqrt(n));
}

pub fn calc_floor_sqrt(n: usize) -> usize {
    let mut ok = 0_usize;
    let mut ng = n;

    while ng - ok > 1 {
        let mid = (ok + ng) / 2;

        if mid <= n / mid {
            ok = mid;
        } else {
            ng = mid;
        }
    }

    ok
}