#include<stdio.h>
#include<math.h>
void ndf()
{
minf=2*pow(x[1],2)+2*pow(x[2],2)+2*pow(x[3],2)+5*pow(x[4],2)+x[1]*(2*x[2]+2*x[3]-3)+x[2]*(2*x[3]-5)-2*x[3]-x[4]+1691+1/2*(1/(x[1]+x[2]+x[3]+x[4]-30));
for(k=1;k<=100000;k++){
r=1/pow((double)k,2);
df[1]=4*x[1]+2*x[2]+2*x[3]-3-r/pow((x[1]+x[2]+x[3]+x[4]-30),2);
df[2]=4*x[2]+2*x[1]+2*x[3]-5-r/pow((x[1]+x[2]+x[3]+x[4]-30),2);
df[3]=4*x[3]+2*x[1]+2*x[2]-2-r/pow((x[1]+x[2]+x[3]+x[4]-30),2);
df[4]=10*x[4]-1-r/pow((x[1]+x[2]+x[3]+x[4]-30),2);
for(i=1;1<=4;i++)
x[i]+=r*df[i];
f=2*pow(x[1],2)+2*pow(x[2],2)+2*pow(x[3],2)+5*pow(x[4],2)+x[1]*(2*x[2]+2*x[3]-3)+x[2]*(2*x[3]-5)-2*x[3]-x[4]+1691+r*(1/(x[1]+x[2]+x[3]+x[4]-30));
if(f<minf)
for(i=1;1<=3;i++)
x[i]+=r*df[i];}
}//
}
void main()///zuishuxiajiangfa
{ int k,i;
double g,r,minf,f,df[4],ds[4],x[4];
for(i=1;i<=4;i++)
x[i]=10;
do{g=x[1]+x[2]+x[3]+x[4]-30;
if(g>0){
else
{
minf=2*pow(x[1],2)+2*pow(x[2],2)+2*pow(x[3],2)+5*pow(x[4],2)+x[1]*(2*x[2]+2*x[3]-3)+x[2]*(2*x[3]-5)-2*x[3]-x[4]+1691+2*(x[1]+x[2]+x[3]+x[4]-30);
for(k=1;k<=100000;k++){
r=1/pow((double)k,2);
ds[1]=4*x[1]+2*x[2]+2*x[3]-3+1/r;
ds[2]=4*x[2]+2*x[1]+2*x[3]-5+1/r;
ds[3]=4*x[3]+2*x[1]+2*x[2]-2+1/r;
ds[4]=10*x[4]-1+1/r;
for(i=1;1<=4;i++)
x[i]+=r*ds[i];
f=2*pow(x[1],2)+2*pow(x[2],2)+2*pow(x[3],2)+5*pow(x[4],2)+x[1]*(2*x[2]+2*x[3]-3)+x[2]*(2*x[3]-5)-2*x[3]-x[4]+1691+1/r*(x[1]+x[2]+x[3]+x[4]-30);
if(f<minf)
for(i=1;1<=4;i++)
x[i]+=r*ds[i];}
}
}while();
for(i=1;i<=4;i++)
printf("%lf\n",x[i]);
}