#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;
}