#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll, ll> pll; typedef pair<string, string> pss; typedef vector<ll> vl; typedef vector<vl> vvl; typedef vector<pll> vpl; double EPS = 1e-9; int INF = 1000000005; long long INFF = 1000000000000000005LL; double PI = acos(-1.0); int dirx[8] = {-1, 0, 0, 1, -1, -1, 1, 1}; int diry[8] = {0, 1, -1, 0, -1, 1, -1, 1}; #define REP(i, a, b) for (ll i = a; i <= b; i++) #define sqr(x) ((ll)(x) * (x)) #define reset(a, b) memset(a, b, sizeof(a)) #define ff first #define ss second #define mkp make_pair #define pb push_back #define all(v) v.begin(), v.end() #define len(v) (ll) v.size() #define srt(v) sort(v.begin(), v.end()) #define rsrt(v) sort(v.rbegin(), v.rend()) #define rvrs(v) reverse(v.begin(), v.end()) #define PERMUTE next_permutation #define sc1(a) scanf("%lld", &a) #define sc2(a, b) scanf("%lld %lld", &a, &b) #define sc3(a, b, c) scanf("%lld %lld%lld", &a, &b, &c) #define sc4(a, b, c, d) scanf("%lld %lld %lld %lld", &a, &b, &c, &d) #define yes printf("YES\n") #define no printf("NO\n") #define pf1(a) printf("%lld", a) #define pf2(a, b) printf("%lld %lld", a, b) #define case(a) printf("Case %lld: ", a) #define ses printf("\n") #define CC(x) cout << "Case #" << ++x << ":"; #define LL_INF (1LL << 62) #define INF (1 << 30) #define SetBit(x, k) (x |= (1LL << k)) #define ClearBit(x, k) (x &= ~(1LL << k)) #define CheckBit(x, k) ((x >> k) & 1) void substring(string s, int i, string cur) { if (i == s.size()) { cout << cur << endl; return; } substring(s, i + 1, cur + s[i]); substring(s, i + 1, cur); } ll ch2digit(char s) { char charvalue = s; ll number = (int(charvalue) + 0); return number - 97; } long long Sqrt(long long x) { long long l = 1, r = 1e9, ans = 0; while (l <= r) { long long mid = (l + r) >> 1; if (mid * mid <= x) { ans = mid; l = mid + 1; } else { r = mid - 1; } } return ans; } void permutaion(string s, int l, int r) { if (l == r) { cout << s << endl; return; } for (int i = l; i <= r; i++) { swap(s[l], s[i]); permutaion(s, l + 1, r); swap(s[l], s[i]); } } bool pallindrome(string s, int l, int r) { if (l >= r) return true; if (s[l] != s[r]) return false; return pallindrome(s, l + 1, r - 1); } char int2char(int N) { return char(N); } void numToBinRepresentation(ll n) { for (ll i = 15; i >= 0; --i) { // ll x = ((n>>i)&1); cout << ((n >> i) & 1); } cout << endl; } void solve() { ll n, k; // cin >> n >> k; cin>>n; ll cnt = sqrt(n); cout<<cnt<<endl; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(0); ll t = 1; // cin >> t; while (t--) { solve(); } }