include

include

include<math.h>

using namespace std;

double cubeRoot(double x){
int flag=1;
if(x<0){
x=-x;
flag=-1;
}

double L;
double R;
double m;
double ERR;

if(x>1){
    ERR=0.01;
    L=0;
    R=x;
    while(1){
        m=L+(R-L)/2.0;
        if(m*m*m-x<=ERR && x-m*m*m<=ERR)
            return m*flag;
        else if(m*m*m-x>ERR)
            R=m;
        else //if(x*x*x-m*m*m>ERR)
            L=m;
    }
}
else{//0-1
    ERR=0.00001;
    L=x;
    R=1;
    while(1){
        m=L+(R-L)/2.0;
        if(m*m*m-x<=ERR && x-m*m*m<=ERR)
            return m*flag;
        else if(m*m*m-x>ERR)
            R=m;
        else //if(x*x*x-m*m*m>ERR)
            L=m;
    }
}

}

void printDouble(double d){
string s = to_string(d);
int i=s.find('.');
if(stoi(s.substr(i+2,1))>=5){
cout<< ((stoi(s.substr(i+1,1))+1 < 10) ? stoi(s.substr(0,i)) : stoi(s.substr(0,i))+1 );
cout<<"."<< ((stoi(s.substr(i+1,1))+1 < 10 ) ? stoi(s.substr(i+1,1))+1 : 0);
}
else
cout<<s.substr(0,i+1)<<stoi(s.substr(i+1,1))<<endl;
}

int main(){
double d;
cin>>d;

d=cubeRoot(d);    
printDouble(d);

return 0;

}