#include <bits/stdc++.h>
using namespace std;
#include <atcoder/all>
using namespace atcoder;
using mint = atcoder::static_modint<998244353>;
// // using mint = atcoder::static_modint<1000000007>;
using ld = long double;
using ll = long long;
#define mp(a,b) make_pair(a,b)
#define rep(i,s,n) for(int i=s; i<(int)n; i++)
const vector<int> dx{1,0,-1,0},dy{0,1,0,-1};


ll floor_sqrt(ll x){
    ll l=0;
    ll r=3000000003;
    while(r-l>1){
        ll m=(l+r)/2;
        if(m*m<=x)l=m;
        else r=m;
    }
    return l;
}
int main(){
    ll n;
    cin >> n;
    cout << floor_sqrt(n);
}