Program pavement;
var
H, S, T, W, Totvert, Totor, restovert, restoor, angolo : Longint;
pezzivertcheservono, pezziorizzcheservono, Totintere, Totpezzi, rimanente : Longint;
begin
(* assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);*)
ReadLn(H, W, S);
T := 0;
Totvert:=H div S; Totor:=W div S;
Totintere:=Totvert*Totor;
restovert:=H mod S; restoor:=W mod S;
if (H=1) then
begin
if W mod S =0 then
begin
if ((W div S ) mod 2 =0) then T:= (W div S) div 2
else T:= (W div S) div 2 +1;
end
else T:= (W div S) div 2 +1;
end
else
begin
if (restovert=0) and (restoor=0) then
begin
pezzivertcheservono:=0;
pezziorizzcheservono:=0;
angolo:=0;
end
else
begin
pezzivertcheservono:=Totor;
pezziorizzcheservono:=Totvert;
if (restovert=0) then
begin
angolo:=0;
if restoor * 2>S then pezziorizzcheservono:=Totvert
else pezziorizzcheservono:=Totvert div 2;
Totpezzi:=pezziorizzcheservono;
end;
if (restoor=0) then
begin
angolo:=0;
if restovert * 2>S then pezzivertcheservono:=Totor
else pezzivertcheservono:=Totor div 2;
Totpezzi:=pezzivertcheservono;
end;
if (restovert<>0) and (restoor<>0) then
begin
if restovert+restoor<=S then
begin
if pezzivertcheservono>=Pezziorizzcheservono then
begin
Totpezzi:=pezziorizzcheservono;
rimanente:=pezzivertcheservono-Pezziorizzcheservono;
if rimanente=0 then angolo:=1
else
begin
if restovert*2 <=S then
begin
if rimanente mod 2 =0 then begin Totpezzi:=Totpezzi+rimanente div 2; angolo:=1; end
else begin Totpezzi:=Totpezzi+rimanente div 2 + 1; angolo:=0; end;
end
else
begin
Totpezzi:=Totpezzi+rimanente;
angolo:=1;
end;
end;
end
else
begin
Totpezzi:=pezzivertcheservono;
rimanente:=pezziorizzcheservono-Pezzivertcheservono;
if rimanente=0 then angolo:=1
else
begin
if restoor*2 <=S then
begin
if rimanente mod 2 =0 then begin Totpezzi:=Totpezzi+rimanente div 2; angolo:=1; end
else begin Totpezzi:=Totpezzi+rimanente div 2 + 1; angolo:=0; end;
end
else
begin
Totpezzi:=Totpezzi+rimanente;
angolo:=1;
end;
end;
end;
end
else
begin
if restovert * 2>S then begin pezzivertcheservono:=Totor; angolo:=1; end
else begin pezzivertcheservono:=Totor div 2; angolo:=0; end;
if restoor * 2>S then begin pezziorizzcheservono:=Totvert;angolo:=1; end
else begin pezziorizzcheservono:=Totvert div 2; angolo:=0; end;
Totpezzi:=pezzivertcheservono+pezziorizzcheservono;
end;
end;
end;
T:=Totintere+Totpezzi+angolo;
end;
writeln(Totintere,' ',totpezzi,' ',angolo) ;
WriteLn(T);
end.