/*
#include <stdio.h>
int main()
{
int arr[49][49];
int n;
scanf("%d",&n);
int i=0,j=(n+1)/2;
int count=0;
arr[0][(n+1)/2];
while(count>=n*n)
{
if(i==0 && j != n-1)
{
arr[n-i][j+1]= count+1 ;
i=n-i;
j=j+1;
count ++;
}
if(i==n-1 && j==n-1)
{
arr[n-i][0]= count+1;
}
}
}
*/
/*
#include<stdio.h>
int main() {
int i, j,k=1, n, x, y, map[100][100] = {0};
scanf("%d", &n);
x = 0;
y =n/2;
map[x][y] = k++;
for(i=0; i<n*n-1; i++) {
x--;
y++;
if(x<0) x = n-1;
if(y>=n) y = 0;
map[x][y] = k++;
if((k-1)%n==0) {
map[++x][y]=k++;
i++;
}
}
for(i=0; i<n; i++) {
for(j=0; j<n; j++) {
printf("%d ", map[i][j]);
}
printf("\n");
}
}
*/
/*
#include<stdio.h>
int main ()
{
int arr[10][10];
int x,y;
int p=0;
for(int i=0; i<10; i++)
{
for(int j=0; j<10; j++)
{
scanf("%d",&arr[i][j]);
}
}
if(arr[1][1] == 2)
{
arr[1][1] = 9;
}
else
{
x = 1;
y = 1;
arr[x][y] = 9;
for(;;)
{
if(arr[x][y+1] == 2)
{
arr[x][y+1] = 9;
break;
}
else if(arr[x][y+1] == 0)
y++;
else if(arr[x+1][y] == 0)
x++;
else if(arr[x+1][y] == 1 && arr[x][y+1] == 1)
break;
else if(arr[x+1][y] == 2)
{
arr[x+1][y] = 9;
break;
}
arr[x][y] = 9;
}
}
for(int i=0; i<10; i++)
{
for(int j=0; j<10; j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}
*/
/*
#include<stdio.h>
int marry(int n) {
n+=1;
return n;
}
int main() {
int n;
scanf("%d", &n);
n = marry(n);
printf("%d", n);
}
#include <stdio.h>
long long int n;
int main()
{
scanf("%lld", &n);
printf("%d\n", sqrt(n));
return 0;
}
*/
#include <stdio.h>
long long int n;
int sqrt(long long int n)
{
for(long long int i=0;i<n+4;i++)
{
if(i*i>n)
{
return (int)(i-1);
}
}
}
int main()
{
scanf("%lld", &n);
printf("%d\n", sqrt(n));
return 0;
}