const fi = 'chunhat.inp';
fo = 'chunhat.out';
var a,b: integer;
i,j,x,y,m,n: integer;
min,max: real;
s,v:array[0..100] of real;
f,g: text;
begin
assign(f,fi);
reset(f);
repeat
readln(f,a,b);
until (a>=1) and (a<=100) and (b>=1) and (b<=100);
for x:=0 to b do
begin
s[x]:=a*b-(a*x/2)-((b-x)*x/2)-((a-x)*b/2);
v[x]:=a*b-(a*x/2)-((b-x)*x/2)-((a-x)*b/2);
end;
max:=s[0]; m:=0;
for i:=1 to b do
if s[i]>max then begin max:=s[i]; m:=i; end;
min:=v[0]; n:=0;
for j:=1 to b do
if v[j]<min then begin min:=v[j]; n:=j; end;
assign(g,fo);
rewrite(g);
writeln(g,max:5:1);
writeln(g,m);
writeln(g,min:5:1);
writeln(g,n);
close(f);close(g);
end.