use bignum; sub bs{ my($l,$r,$v)=@_; my$x; for(;;){ $x=($l+$r)/2; my$t=$x**3+$A*$x**2+$B*$x+$C; if($t*$v>0){ $r=$x }elsif($t*$v<0){ $l=$x }else{ last } } $x } ($A,$B,$C)=glob<>; $s=sqrt$A**2-3*$B; $p=(-$A-$s)/3; $q=(-$A+$s)/3; print bs(-1e9,$p,1),$", bs($p,$q,-1),$", bs($q,1e9,1),$/