#include<bits/stdc++.h>
using namespace std;
double a,b,c;
int main(){
cin>>a>>b>>c;
if(b*b<4*a*c)
printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi",-1*b/2/a,sqrt(-1*(b*b-4*a*c))/2/a,-1*b/2/a,sqrt(-1*(b*b-4*a*c))/2/a);
else if(b*b==4*a*c)
printf("x1=x2=%.5lf",-1*b/2/a);
else if((-1*b-sqrt(b*b-4*a*c))/2/a>(-1*b+sqrt(b*b-4*a*c))/2/a)
printf("x1=%.5lf;x2=%.5lf",(-1*b-sqrt(b*b-4*a*c))/2/a,(-1*b+sqrt(b*b-4*a*c))/2/a);
else
printf("x1=%.5lf;x2=%.5lf",(-1*b+sqrt(b*b-4*a*c))/2/a,(-1*b-sqrt(b*b-4*a*c))/2/a);
return 0;
}
//input:1 0 1
//output:x1=-0.00000+1.00000i;x2=-0.00000-1.00000i
为什么会输出−0.00000