Var
s,p:real;
i,j:integer;
a:array[1..3]of real;
begin
readln(a[1],a[2],a[3]);
for i:=1 to 3 do
for j:=1 to 3 do
if a[j]>a[i] then
begin
p:=a[i];
a[i]:=a[j];
a[j]:=p
end;
if a[1]+a[2]>a[3] then
begin
p:=(a[1]+a[2]+a[3])/2;
s:=sqrt(p*(p-a[1])*(p-a[2])*(p-a[3]));
for i:=1 to 3 do
write(a[i],' ');
writeln;
writeln('Площадь треугольника: ',s);
end
else writeln('Треугольник не существует');
end.