#include <stdio.h>
/* 二分法查找立方根 */
double dichotomy_cube_root(double num)
{
double min, max, mid;
min = -20;
max = 20;
int flag = 0;
while(fabs(num - (min * min * min)) > 0.001)
{
mid = (max + min)/2;
if(mid * mid * mid > num)
{
max = mid;
}
else if(mid * mid * mid < num)
{
min = mid;
}
}
return min;
}
/* 牛顿迭代法查找立方根 */
double newtonite_cube_root(double num)
{
double x = 1.0;
while(fabs(num - x * x * x) > 0.0001)
{
x = (2 * x + num / (x*x))/3;
}
return x;
}
int main()
{
double num;
if(scanf("%lf", &num) != EOF)
{
// printf("%.1lf", dichotomy_cube_root(num));
printf("%.1lf", newtonite_cube_root(num));
}
return 0;
}