#include<bits/stdc++.h>
using namespace std;
map<int,double> v;
double a,b,c,d;
double f(int y)
{
double x=double(y)/100;
return a*x*x*x+b*x*x+c*x+d;
}
void print(int y)
{
double x=double(y)/100;
printf("%.2lf ",x);
}
void putin(double x)
{
v[x]=f(x);
}
void dfs(int left,int right)
{
int mid=(left+right)/2;
if(v.find(mid)==v.end()) putin(mid);
if(!v[mid]) print(mid);
if(v[left]*v[mid]<0) dfs(left,mid);
if(v[right]*v[mid]<0) dfs(mid,right);
}
int main()
{
cin>>a>>b>>c>>d;
putin(-10000);putin(0);putin(10000);
dfs(-10000,10000);
return 0;
}