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