#include
<iostream>
#include
<cmath>
#include
<iomanip>
using
namespace std;
const
double ERROR = 1e-11;
double
theFunction(double x)
{
x/=20;
return ((((x+2)*x-52)*x+3)*x+524)*x-329;
}
double
getX(double low,double high,double target)
{
double slope=theFunction(high)-theFunction(low); //for
slope sign
double x=high;
double y=theFunction(x);
double prev=x;
while (fabs(theFunction(x)-target)>ERROR)
{
x=(high+low)*0.5;
y=theFunction(x);
if (prev==y) break;
//found the thing! maybe
if (y<target && slope>0 || y>target && slope<0) low=x;
else high=x;
prev=y;
}
return x;
}
int
main()
{
double low,high,target;
cout.fill('0');
while (cin>>low>>high>>target && (low!=0 || high!=0 || target!=0))
{
double x=getX(low,high,target);
if (fabs(theFunction(x)-target)>ERROR) cout<<"Professor, there is no Function...\n";
else cout<<fixed<<setprecision(4)<<x<<endl;
}
return 0;
}